http://bugs.winehq.org/show_bug.cgi?id=25980
Summary: Duty Calls: needs msvcm90.dll Product: Wine Version: 1.3.12 Platform: x86 URL: http://www.thedutycalls.com/ OS/Version: Linux Status: NEW Keywords: download Severity: enhancement Priority: P2 Component: msvcrt AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
A free download, it's a spoof game of Call of Duty. Interestingly, though, it wants msvcm90.dll...
austin@aw21 ~/.wine/drive_c/Program Files/Duty Calls/binaries/Win32 $ wine DutyCalls.exe fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50727.762) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT" (8.0.50727.762) err:module:import_dll Library msvcm90.dll (which is needed by L"C:\Program Files\Duty Calls\binaries\Win32\DutyCalls.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"C:\Program Files\Duty Calls\binaries\Win32\DutyCalls.exe" failed, status c0000135
http://download.thedutycalls.com/DutyCallsUS.zip
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #1 from Austin English austinenglish@gmail.com 2011-02-03 18:44:27 CST --- Created an attachment (id=33119) --> (http://bugs.winehq.org/attachment.cgi?id=33119) msvcm80 stub
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #2 from Austin English austinenglish@gmail.com 2011-02-03 18:44:38 CST --- Created an attachment (id=33120) --> (http://bugs.winehq.org/attachment.cgi?id=33120) msvcm90 stub
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #3 from Austin English austinenglish@gmail.com 2011-02-03 18:45:32 CST --- Created an attachment (id=33121) --> (http://bugs.winehq.org/attachment.cgi?id=33121) winebuild fix
These three patches are enough for me to make the game happy, until it hits bug 25982.
I'm not sure if they're correct though, the stubs are a bit different from the msvcp/msvcr functions, so probably need to verify with someone who knows better first..
http://bugs.winehq.org/show_bug.cgi?id=25980
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #4 from Dan Kegel dank@kegel.com 2011-02-03 22:05:49 CST --- msvcm90.dll isn't a math library, it's the managed c++ version of the C(++?) runtime library. This is the first time I've seen a managed c++ app in the wild (not that I've been looking).
The error persists even after winetricks vcrun2008; there's an msvcm90 there, but it isn't being found.
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #5 from Vincent Povirk madewokherd@gmail.com 2011-02-03 22:40:43 CST --- If there's any managed code in either of these dll's, we probably can't build them properly with winelib.
http://bugs.winehq.org/show_bug.cgi?id=25980
Jonathan Strander mblackwell1024@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mblackwell1024@gmail.com
--- Comment #6 from Jonathan Strander mblackwell1024@gmail.com 2011-02-05 00:10:49 CST --- I installed the game to a wine prefix with vcrun2005, d3dx9, etc all already installed via winetricks. Installation went without a hitch.
Dumping a copy of the msvcm90.dll file into the game's directory or system32 results in a popup stating:
Please set registry key HKLM\Software\Microsoft.NETFramework\InstallRoot to point to the .NET Framework install location
Creating a key in that location called InstallRoot pointing to C:\windows\Microsoft.NET\Framework\ gives you the splash screen.
It then crashes saying with a dialog stating:
Fatal error!
Address = 0x7b839092 (filename not found) [in C:\windows\system32\KERNEL32.dll] Address = 0x687a15e8 (filename not found) [in C:\windows\system32\msvcr90.dll] Address = 0x6879b5e5 (filename not found) [in C:\windows\system32\msvcr90.dll]
With the following console output:
fixme:ntoskrnl:KeInitializeTimerEx stub: 0x111030 0 fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.30729.1) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8) fixme:sync:CreateMemoryResourceNotification (0) stub err:ole:CoGetContextToken apartment not initialised fixme:shell:URL_ParseUrl failed to parse L"msvcm90" fixme:gameux:GameExplorerImpl_VerifyAccess (0x1d48c0, L"C:\Program Files\Duty Calls\binaries\Win32\DutyCalls.exe", 0x3cde738) fixme:win:EnumDisplayDevicesW ((null),0,0x3cdd418,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x3cdd2e4,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x3cde8bc,0x00000000), stub! fixme:mixer:ALSA_MixerInit No master control found on HDA NVidia, disabling mixer fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x1ee650,0x1ef818): stub wine: Call from 0x7b839092 to unimplemented function msvcr90.dll.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z, aborting wine: Call from 0x7b839092 to unimplemented function msvcr90.dll.?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z, aborting fixme:dbghelp:elf_search_auxv can't find symbol in module fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS) fixme:system:SystemParametersInfoW Unimplemented action: 53 (SPI_SETTOGGLEKEYS) fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS) fixme:msvcrt:MSVCRT__set_abort_behavior _WRITE_CALL_REPORTFAULT unhandled fixme:msvcr90:__clean_type_info_names_internal (0x7842e678) stub fixme:msvcr90:__clean_type_info_names_internal (0x46e0d74) stub fixme:msvcr90:__clean_type_info_names_internal (0x3d5b2b8) stub fixme:msvcr90:__clean_type_info_names_internal (0x3e24ff0) stub fixme:msvcr90:__clean_type_info_names_internal (0x3f9e528) stub fixme:msvcr90:__clean_type_info_names_internal (0x3f71d30) stub fixme:msvcr90:__clean_type_info_names_internal (0x3ee3648) stub fixme:msvcr90:__clean_type_info_names_internal (0x3cd458) stub fixme:msvcr90:__clean_type_info_names_internal (0x102db738) stub fixme:msvcr90:__clean_type_info_names_internal (0x366578) stub
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #7 from Austin English austinenglish@gmail.com 2011-03-02 13:44:03 CST --- Crysis 2 multiplayer demo wants this as well: ./Program Files/Electronic Arts/Crytek/Crysis 2 Demo/bin32/Microsoft.VC90.CRT/msvcm90.dll
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #8 from Austin English austinenglish@gmail.com 2011-03-02 14:19:56 CST --- (In reply to comment #7)
Crysis 2 multiplayer demo wants this as well: ./Program Files/Electronic Arts/Crytek/Crysis 2 Demo/bin32/Microsoft.VC90.CRT/msvcm90.dll
Well, it bundles it, but may not use it. I can start the game fine and login with it disabled. I can't yet get in game, but that happens with/without that dll (haven't checked windows yet, may be a game bug).
http://bugs.winehq.org/show_bug.cgi?id=25980
--- Comment #9 from Austin English austinenglish@gmail.com 2011-05-18 17:30:37 CDT --- Magicka wants this as well.
http://bugs.winehq.org/show_bug.cgi?id=25980
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Duty Calls: needs |Duty Calls needs |msvcm90.dll |msvcm90.dll (purist)
--- Comment #10 from Anastasius Focht focht@gmx.net 2011-12-21 15:22:56 CST --- Hello,
the situation should have improved since Wine ships its own manifests for VC++ 2005 and 2008 runtime. (starting with commit http://source.winehq.org/git/wine.git/commitdiff/05ddaaf0686a0fcc10c9874a8d3... )
The initial problem here is essentially the same as explained in bug 25981 (incomplete assembly list for process default activation context due to missing manifests). Yeah, name it: d-u-p-e.
The game installers that ship/install their own VC++ 2008 runtime should load native dependencies like "msvcm90.dll" correctly now.
Retest your installers. If one app/game really binds to this dll without shipping/installing VC++ 2008 runtime then this bug might be valid... otherwise this bug is just a "purist".
As Vincent mentioned: this is not easy due to mixed mode nature of the module (bridging with .NET CLR).
Regards
http://bugs.winehq.org/show_bug.cgi?id=25980
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Duty Calls needs |Duty Calls needs |msvcm90.dll (purist) |msvcm90.dll (purist) | |(support for mixed-mode | |assemblies, containing | |native and managed code)
--- Comment #11 from Anastasius Focht focht@gmx.net 2012-02-19 15:33:11 CST --- Hello,
refining summary to explicitly state this is managed C++ (application linked with /CLR compiler switch).
Regards
http://bugs.winehq.org/show_bug.cgi?id=25980
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |94f0da9c9b38ef95f6e7475d98b | |c065d633966c8 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #12 from Austin English austinenglish@gmail.com 2012-05-08 16:20:22 CDT --- http://source.winehq.org/git/wine.git/commitdiff/94f0da9c9b38ef95f6e7475d98b...
I don't have a copy of this around, and the website is down, so marking as fixed until another app needs some functions :).
http://bugs.winehq.org/show_bug.cgi?id=25980
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org 2012-05-11 13:21:52 CDT --- Closing bugs fixed in 1.5.4.