before latest Alexandre patch, CreateProcess was able to use stuff like: CreateProcess(NULL, "foo.exe --wine_opt -- --foo_opt")
--wine_opt was seen by foo as options for wine, whereas foo_opt could be a command line option for foo (in foo, the command line would only be "--foo_opt")
since last night, this is broken: - --wine_opt is still seen as a wine option - however, the command line passed to foo isn't cleaned up... we get the whole line "--wine_opt -- --foo_opt"...
what should we do. I think Alexandre long term option is to really get rid of the options on the command line and use the WINEOPTION(S) env var (we could still have a wrapper script to do the conversion)
should we adopt this right away or clean up the command line option ?
as a consequence, you no longer can use any CUI program in the user/graphical mode, including winedbg - it still work as a unix console though
A+
Eric Pouech eric.pouech@wanadoo.fr writes:
what should we do. I think Alexandre long term option is to really get rid of the options on the command line and use the WINEOPTION(S) env var (we could still have a wrapper script to do the conversion)
should we adopt this right away or clean up the command line option ?
The basic idea is to have two separate programs; a 'wine' that does all the command-line processing, and a 'wineloader' that simply executes a new process from CreateProcess. Then all the option handling can be moved out of kernel and into that wine program.
Winelib apps will then need to do their own command-line handling, the kernel will simply pass them the unmodified cmdline (though it should still be possible to launch a Winelib app through the 'wine' program to make it handle wine options).
as a consequence, you no longer can use any CUI program in the user/graphical mode, including winedbg - it still work as a unix console though
I've added a quick hack to fix this for now.
The basic idea is to have two separate programs; a 'wine' that does all the command-line processing, and a 'wineloader' that simply executes a new process from CreateProcess. Then all the option handling can be moved out of kernel and into that wine program.
how would you pass info from the former to the later (and under which form) ?
A+
Eric Pouech eric.pouech@wanadoo.fr writes:
The basic idea is to have two separate programs; a 'wine' that does all the command-line processing, and a 'wineloader' that simply executes a new process from CreateProcess. Then all the option handling can be moved out of kernel and into that wine program.
how would you pass info from the former to the later (and under which form) ?
Most likely a combination of environment variables and registry keys. This may also require some restructuring of the configuration file handling in the registry. The exact details are not really defined yet.