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@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
since commit https://source.winehq.org/git/wine.git/commitdiff/39c8875ff8aa543eaa50e52db0... ("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
https://bugs.winehq.org/show_bug.cgi?id=44593
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |8b35892b159f5bd971857823877 | |22f0454fdc245
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/8b35892b159f5bd97185782387...
Thanks Alexandre
Regards
https://bugs.winehq.org/show_bug.cgi?id=44593
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.3.