[Bug 11742] New: Small .net 1.1 app (FastMD5 1.3) fails to start up
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Feb 26 13:05:05 CST 2008
http://bugs.winehq.org/show_bug.cgi?id=11742
Summary: Small .net 1.1 app (FastMD5 1.3) fails to start up
Product: Wine
Version: CVS/GIT
Platform: Other
URL: http://www.paehl.de/fastmd5.zip
OS/Version: other
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: shlwapi
AssignedTo: wine-bugs at winehq.org
ReportedBy: dank at kegel.com
Now that bug 10134 is fixed, and .net 1.1's installer runs to completion,
you can install the .net 1.1 version of fastmd5. But you can't start it;
it complains
fixme:shell:URL_ParseUrl failed to parse L"mscorlib"
fixme:shell:URL_ParseUrl failed to parse L"System"
...
This was investigated and tracked down to an extra '\' by A.F. in
http://bugs.winehq.org/show_bug.cgi?id=10134#c20
Copying his comments here, since that bug was about dotnetfx install failure:
Registering assemblies into GAC and pre JIT-ing (ngen tool) doesn't work right
now due to a bug in shlwapi's UrlCombineW().
Because of this bug, .NET 1.x fusion loader won't find any referenced
assemblies on app startup, leading to rather cryptic "resource not found" error
message.
--- snip trace ---
..
001f:Call shlwapi.UrlCombineW(005436d8
L"C:\\windows\\Microsoft.NET\\Framework\\v1.1.4322/",0053b590
L"C:\\windows\\Microsoft.NET\\Framework\\v1.1.4322\\System.dll",00544728
L"hS\0108S",0033e320,00000000) ret=7904e23d
..
001f:Ret shlwapi.UrlCombineW() retval=00000000 ret=7904e23d
001f:Call shlwapi.UrlIsW(00544728
L"file:///C:/windows/Microsoft.NET/Framework/v1.1.4322/System.dll/",00000003)
ret=7904e250
001f:Ret shlwapi.UrlIsW() retval=00000001 ret=7904e250
001f:Call shlwapi.UrlUnescapeW(00544728
L"file:///C:/windows/Microsoft.NET/Framework/v1.1.4322/System.dll/",00542688,0033e35c,00000000)
ret=7904e267
001f:Ret shlwapi.UrlUnescapeW() retval=00000000 ret=7904e267
..
--- snip trace ---
The returned combined URL/path is invalid.
Fusion internally re-verifies paths before mapping dlls and rejects it.
reduced: "c:\\test/" + "c:\\test\\mylib.dll"
wine -> "file:///c:\\test\\mylib.dll/" (wrong)
windows -> "file:///c:\\test\\mylib.dll" (correct, I wrote a small test case
and tested with Windows XP SP2).
So get that bug fixed and apps/fusion will find the requested assemblies.
--
For trace/logging purposes you can enable fusion's verbose logging:
--- snip ---
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ForceLog"=dword:00000001
"LogResourceBinds"=dword:00000001
"LogFailures"=dword:00000001
"LogPath"="C:\\Temp\\FusionLogs"
--- snip ---
That will get you detailed CLR assembly search and loader logs.
Handy for diagnosing assembly loading problems.
--
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