[Bug 44593] New: Improve Wine loader diagnostic output for .NET (IL) applications in case of 'mscoree.dll' load failures

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Feb 25 06:54:35 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=44593

            Bug ID: 44593
           Summary: Improve Wine loader diagnostic output for .NET (IL)
                    applications in case of 'mscoree.dll' load failures
           Product: Wine
           Version: 3.2
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: ntdll
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

since commit
https://source.winehq.org/git/wine.git/commitdiff/39c8875ff8aa543eaa50e52db0c546717de691af
("ntdll: Add support for running IL-only .NET executables.") starting a .NET
application without proper mscoree setup results in obscure error message in
terminal, making it very hard for the end user to figure out what's wrong.

* Wine-Mono uninstalled/disabled via various methods (builtin order disabled,
native mscoree preferred, disabled during Wine build time), native .NET not yet
installed -> this is a standard use-case
* broken WINEPREFIX (mscoree improperly installed/Win64/Wow64 issues)

Console output before the change:

--- snip ---
$ wine ./foo.exe
0009:err:module:import_dll Library mscoree.dll (which is needed by
L"C:\\Program Files\\FooBar\\foo.exe") not found
0009:err:module:attach_dlls Importing dlls for L"C:\\Program
Files\\FooBar\\foo.exe" failed, status c0000135
--- snip ---

Console output after the change:

---- snip ---
$ wine ./foo.exe
0009:err:module:attach_dlls Importing dlls for L"C:\\Program
Files\\FooBar\\foo.exe" failed, status c0000135
---- snip ---

I suggest to add an ERR to hint it's actually 'mscoree' module load failure to
help end users/triagers diagnosing.

Source:
jttps://source.winehq.org/git/wine.git/blob/39c8875ff8aa543eaa50e52db0c546717de691af:/dlls/ntdll/loader.c#l895

--- snip ---
 895 static NTSTATUS fixup_imports_ilonly( WINE_MODREF *wm, LPCWSTR load_path,
void **entry )
 896 {
 897     static const WCHAR mscoreeW[] =
{'m','s','c','o','r','e','e','.','d','l','l',0};
...
 910     prev = current_modref;
 911     current_modref = wm;
 912     if (!(status = load_dll( load_path, mscoreeW, 0, &imp ))) wm->deps[0]
= imp;
 913     current_modref = prev;
 914     if (status) return status;
 915 
 916     TRACE( "loaded mscoree for %s\n",
debugstr_w(wm->ldr.FullDllName.Buffer) );
...
--- snip ---

$ wine --version
wine-3.2-168-gc073701d02

Regards

-- 
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