Hi all,
I tried to call another .exe file in my own exe file by using the system() API. But the return value of system() is -1 and errno is set to ENOENT. It indicates that the another exe file is not found.
So I copy the another exe to the fake directory: C:\windoes\system32, since wine always find the exe file there. And I also set the environment variable "System" and "Path" in the key HOST_CURRENT_USER/Environment thru regedit.
But still, wine couldn't find the another exe.
Any help is welcomed.
Milo Xu
I use the debug channel. Here is the output:
[root@localhost drive_c]# WINEDEBUG=+process,+exec wine ./System.exe trace:process:init_current_directory starting in L"C:\" 0x10 trace:process:__wine_kernel_init starting process name=L"C:\System.exe" argv[0]=L"./System.exe" trace:process:set_entry_point setting FT_Thunk at 0x602ae084 to 00000000 i: -1 ENOENT
Any idea? Thanks in advance.
Milo Xu
On 6/26/07, Zhongli Xu zhongli.xu@gmail.com wrote:
Hi all,
I tried to call another .exe file in my own exe file by using the system() API. But the return value of system() is -1 and errno is set to ENOENT. It indicates that the another exe file is not found.
So I copy the another exe to the fake directory: C:\windoes\system32, since wine always find the exe file there. And I also set the environment variable "System" and "Path" in the key HOST_CURRENT_USER/Environment thru regedit.
But still, wine couldn't find the another exe.
Any help is welcomed.
Milo Xu
On Tue, Jun 26, 2007 at 03:06:12PM +0800, Zhongli Xu wrote:
I use the debug channel. Here is the output:
[root@localhost drive_c]# WINEDEBUG=+process,+exec wine ./System.exe trace:process:init_current_directory starting in L"C:\" 0x10 trace:process:__wine_kernel_init starting process name=L"C:\System.exe" argv[0]=L"./System.exe" trace:process:set_entry_point setting FT_Thunk at 0x602ae084 to 00000000 i: -1 ENOENT
Any idea? Thanks in advance.
Use CreateProcess().
Ciao, Marcus
On Di, 2007-06-26 at 15:06 +0800, Zhongli Xu wrote:
I use the debug channel. Here is the output:
[root@localhost drive_c]# WINEDEBUG=+process,+exec wine ./System.exe
You should never use wine as root.
"root" is only for System-Maintenance.
On Tue, 26 Jun 2007, Zhongli Xu wrote:
Hi all,
I tried to call another .exe file in my own exe file by using the system() API. But the return value of system() is -1 and errno is set to ENOENT. It indicates that the another exe file is not found.
That must be because you're calling the Unix system() function. If you want system() to work in Wine applications you must link with msvcrt and call its implementation of system().