[Bug 10134] regtlib.exe from .NET 1.1's dotnetfx. exe installer crashes with heap problem

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Feb 3 12:44:42 CST 2008


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


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #20 from Anastasius Focht <focht at gmx.net>  2008-02-03 12:44:41 ---
Hello,

--- quote ---
Yip , that's true, but while trying to run a simple .net app (i used fastmd5
again) it pops up a messagebox, that it failed to find some resources. So maybe
the install is still screwed up?
--- quote ---

That's why I said "some issues left" :-)
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.

Regards


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