[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