http://bugs.winehq.org/show_bug.cgi?id=9979
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #7 from Anastasius Focht focht@gmx.net 2007-10-12 06:45:01 --- Hello,
well you could lie to the .NET 2.0 framework check. There is a small utility extracted from installation into temporary directory called "dotnetchk.exe" (usually c:\windows\temp\VSDxxxx\DotNetFX).
It's an official Microsoft .NET Framework tool (technically: a package file for the DotNetFX Bootstrapper package) designed to be used as an ExternalCheck to determine if a particular version of the .NET Framework is installed on a computer.
Here are the various command line parameters and possible exit codes:
dotnetchk.exe 0 - FX version 50727.42 is not installed 1 - FX version 50727.42 is installed
dotnetchk.exe -version="3.0.0.0" 0 - FX version 3.0.0.0 is not installed 1 - FX version 3.0.0.0 is installed
dotnetchk.exe -version="3.0.0.0" -lcid:1033 0 - FX version 3.0.0.0 is not installed 1 - FX version 3.0.0.0 is installed but not langpack for LCID 1033 2 - FX version 3.0.0.0 and langpack is installed
The version check is done using following call sequence:
--- snip --- 0024:Call mscoree.GetRequestedRuntimeInfo(00000000,005208e8 L"v2.0.50727",00000000,00000006,00000018,0034fc3c,00000104,0034fb9c,0034fe44,00000014,0034fba8) ret=004031c4 0024:fixme:mscoree:GetRequestedRuntimeInfo ((null), L"v2.0.50727", (null), 0x00000006, 0x00000018, 0x34fc3c, 0x00000104, 0x34fb9c, 0x34fe44, 0x00000014, 0x34fba8) stub 0024:fixme:mscoree:GetCORVersion (0x34fe44, 20, 0x34fba8): semi-stub! 0024:Ret mscoree.GetRequestedRuntimeInfo() retval=00000000 ret=004031c4 --- snip ---
The current wine mscoree implementation just returns default v1.1 data which doesn't satisfy the check. Check install.log for details in their temp VSDxxx directory.
There are some patches floating around which enable GetCORVersion() to lie by using registry settings (returning "v2.0.50727" in this case) Don't know why they didn't made it into wine source tree.
But even if you overcome this problem there is currently no way because wine is missing .application manifest bootstrap loader.
The wrapper uses ShellExecute() with "C:\Program Files\Paradox Interactive\Doomsday\ZtormLaunch.application" parameter. Windows has ".application" (application manifest) handlers to deal with this properly (making ShellExecute/CreateProcess API succeed).
Regards