[Bug 28225] New: Wine refuses to load native MSVCP90.dll, and won't even say why.

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Aug 29 11:50:08 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=28225

           Summary: Wine refuses to load native MSVCP90.dll, and won't
                    even say why.
           Product: Wine
           Version: 1.3.27
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: skotlex at mailforce.net


Back in version 1.3.26 wine was working correctly in the application I was
using it for (Ragnarok Online, used to have platinum rating in the appDB), but
since 1.3.27 wine cannot launch the application anymore.

By default, it tries to use the built-in MSVCP90.dll, which is a no go because
it has missing functions (already reported in bug #28215). However, the problem
is when I try to force the native version to be used, wine will not load it,
and it won't even give any explanation on why.

WINEDLLOVERRIDES="msvcp90=n" WINEDEBUG=+loaddll wine ragnarok.exe

Will print (relevant part):

trace:loaddll:load_builtin_dll Loaded L"c:\\windows\\system32\\iphlpapi.dll" at
0x7e3e0000: builtin
trace:loaddll:load_builtin_dll Loaded L"c:\\windows\\system32\\netapi32.dll" at
0x7e410000: builtin
err:module:import_dll Library MSVCP90.dll (which is needed by
L"C:\\ro\\ragnarok.exe") not found
trace:loaddll:load_builtin_dll Loaded L"c:\\windows\\system32\\msvcrt.dll" at
0x7e340000: builtin
trace:loaddll:load_builtin_dll Loaded L"c:\\windows\\system32\\msvcr90.dll" at
0x7e3c0000: builtin

The file, msvcp90.dll, is in the same directory as the executable, and there is
a Manifest for it as well (Microsoft.VC90.CRT.manifest):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) Microsoft Corporation.  All rights reserved. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable/>
    <assemblyIdentity
        type="win32"
        name="Microsoft.VC90.CRT"
        version="9.0.21022.8"
        processorArchitecture="x86"
        publicKeyToken="1fc8b3b9a1e18e3b"
    />
    <file name="msvcr90.dll" /> <file name="msvcp90.dll" /> <file
name="msvcm90.dll" />
</assembly>

According to winefile, the msvcp90.dll file I have has the following
properties:

Version: 9.0.21022.8
Size: 568832 Bytes
FileVersion: 9.00.21022.8
InternalName: MSVCP90.DLL
ProductVersion: 9.00.21022.8

One thing that jumps to the eye is the fact that the different version fields
don't agree on whether it is 9.0.X, or 9.00.X, but that may be normal. What I
don't find normal is the fact that wine doesn't give me any hint on what is
wrong and why it cannot load that dll :/

I am guessing it is related to manifests, since the support for that went in in
this Wine version.
So, in summary, shouldn't wine print out an error message detailing why it
failed to load a particular dll file?

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list