[Bug 30075] New: Microsoft .NET Framework 4.5 Developer Preview CLR needs kernel32.dll WerRegisterRuntimeExceptionModule (returning S_OK) to run .NET apps
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Mar 4 07:56:15 CST 2012
http://bugs.winehq.org/show_bug.cgi?id=30075
Bug #: 30075
Summary: Microsoft .NET Framework 4.5 Developer Preview CLR
needs kernel32.dll WerRegisterRuntimeExceptionModule
(returning S_OK) to run .NET apps
Product: Wine
Version: 1.4-rc6
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs at winehq.org
ReportedBy: focht at gmx.net
Classification: Unclassified
Hello,
after upgrading an existing .NET Framework 4.0 WINEPREFIX with .NET Framework
4.5 (dev preview) some simple apps that previously worked failed to run.
I created a simple C# based .NET "hello world" console app using the provided
C# compiler (csc.exe) in .NET 4.0 prefix and it fails to execute after .NET 4.5
CLR upgrade:
--- snip ---
002b:Starting process
L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\hello.exe"
(entryproc=0x40233e)
...
002b:Call KERNEL32.GetModuleHandleW(007f8424 L"kernel32.dll") ret=008378ea
002b:Ret KERNEL32.GetModuleHandleW() retval=7b810000 ret=008378ea
002b:Call KERNEL32.GetProcAddress(7b810000,00837968
"WerRegisterRuntimeExceptionModule") ret=008378fe
002b:Ret KERNEL32.GetProcAddress() retval=00000000 ret=008378fe
...
002b:Call KERNEL32.LoadLibraryExW(0032f944
L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorrc.dll",00000000,00000002)
ret=008e1f58
002b:Ret KERNEL32.LoadLibraryExW() retval=00f00001 ret=008e1f58
...
002b:Call user32.MessageBoxW(00000000,0032fa20 L"CLR error: 80004005.\n The
program will now terminate.",0032f3f0 L"hello.exe - Fatal error",00002010)
ret=00ace3f9
...
--- snip ---
It seems there is an improved integration of error reporting with WER.
MSDN:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd408167%28v=vs.85%29.aspx
Adding a stub returning E_NOTIMPL doesn't make the CLR happy:
--- snip ---
002b:Call KERNEL32.GetModuleHandleW(007f8424 L"kernel32.dll") ret=008378ea
002b:Ret KERNEL32.GetModuleHandleW() retval=7b810000 ret=008378ea
002b:Call KERNEL32.GetProcAddress(7b810000,00837968
"WerRegisterRuntimeExceptionModule") ret=008378fe
002b:Ret KERNEL32.GetProcAddress() retval=7b825418 ret=008378fe
002b:Call KERNEL32.WerRegisterRuntimeExceptionModule(0032f88c
L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll",00740000)
ret=00837915
002b:fixme:wer:WerRegisterRuntimeExceptionModule
(L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscordacwks.dll",
0x740000) stub!
002b:Ret KERNEL32.WerRegisterRuntimeExceptionModule() retval=80004001
ret=00837915
...
002b:Call user32.MessageBoxW(00000000,0032fa20 L"CLR error: 80004005.\n The
program will now terminate.",0032f3f0 L"hello.exe - Fatal error",00002010)
ret=00ace3f9
--- snip ---
You have to return S_OK to please the CLR.
With that change "hello world" runs again. Yay!
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