> int main (int argc, char *argv[]) > { > + LPWSTR *argvW = NULL; > + int args; > + WCHAR *cmdW = NULL;
>If you will start using wmain() instead of main() you get unicode args for >free, and that will help to avoid changing the command line parsing code. Hi, Sorry for the delayed response - been away... I'd never heard of that, but looking it up in google makes it look like this should work, but when I change it all I get is a failure at build time: Change was: --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -100,9 +100,8 @@ static WCHAR *WCMD_expand_envvar(WCHAR *start); * winmain(). */ -int main (int argc, char *argv[]) +int wmain (int argc, WCHAR *argvW[]) { - LPWSTR *argvW = NULL; int args; WCHAR *cmd = NULL; WCHAR string[1024]; @@ -122,7 +121,6 @@ int main (int argc, char *argv[]) strcpyW(anykey, WCMD_LoadMessage(WCMD_ANYKEY)); /* Get a Unicode command line */ - argvW = CommandLineToArgvW( GetCommandLineW(), &argc ); args = argc; opt_c=opt_k=opt_q=opt_s=0; Compile error was: ../../tools/winegcc/winegcc ..... ../../dlls/winecrt0/libwinecrt0.a(exe_main.o): In function `main': /home/wine/wine/dlls/winecrt0/exe_main.c:48: undefined reference to `WinMain' Does wine support this? I initially did it this way copying from programs/msiexec Jason