[Bug 11742] Small .net 1.1 app (FastMD5 1.3) fails to start up
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Feb 29 16:29:08 CST 2008
http://bugs.winehq.org/show_bug.cgi?id=11742
--- Comment #7 from Anastasius Focht <focht at gmx.net> 2008-02-29 16:29:07 ---
Created an attachment (id=11051)
--> (http://bugs.winehq.org/attachment.cgi?id=11051)
patch which implements mscoree shim interop ReadXXX and WriteXXX
Hello again,
the next step is essentially the same as the .NET 2.0 fonts problem.
I documented it in http://bugs.winehq.org/show_bug.cgi?id=10467#c2
appdb .NET 2.0 howto:
--- snip ---
3. Copy all fonts from a windows partition (from c:\WINDOWS\Fonts\) to
~/.wine/drive_c/windows/fonts
4. Save this file http://bugs.winehq.org/attachment.cgi?id=9204 and do "regedit
fonts.reg"
--- snip ---
After that the app needs one more fix because of native .NET shim (mscoree)
insufficiency.
--- snip managed debugger callstack ---
System.EntryPointNotFoundException: Unable to find an entry point named ND_WU1
in DLL mscoree.dll.
at System.Runtime.InteropServices.Marshal.WriteByte(Object ptr, Int32 ofs,
Byte val)
at System.Drawing.Font.ToLogFont(Object logFont, Graphics graphics)
at System.Drawing.Font.ToLogFont(Object logFont)
at System.Drawing.Font.ToHfont()
at System.Windows.Forms.FontHandleWrapper..ctor(Font font)
at System.Windows.Forms.Control.GetDefaultFontHandleWrapper()
at System.Windows.Forms.Control.get_FontHandle()
at System.Windows.Forms.Control.get_FontHandle()
at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
at System.Windows.Forms.ComboBox.OnHandleCreated(EventArgs e)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ComboBox.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr
wparam, IntPtr lparam)
--- snip managed debugger callstack ---
If one looks at wine trace
--- snip ---
0009:Call KERNEL32.GetProcAddress(60b80000,79ba98f7 "ND_RI2") ret=00660ce5
0009:Ret KERNEL32.GetProcAddress() retval=00000000 ret=00660ce5
..
*boom*
0027:Call KERNEL32.GetProcAddress(618c0000,79ba98c7 "ND_RU1") ret=791e0ce5
0027:Ret KERNEL32.GetProcAddress() retval=00000000 ret=791e0ce5
..
*boom*
--- snip ---
Wine's mscoree needs some interop stubs - fleshed out of course.
You could use native mscoree override but I tend to minimize the native mess as
possible.
System.Runtime.InteropServices.Marshal.ReadByte -> ND_RU1
System.Runtime.InteropServices.Marshal.ReadInt16 -> ND_RI2
System.Runtime.InteropServices.Marshal.ReadInt32 -> ND_RI4
System.Runtime.InteropServices.Marshal.ReadInt64 -> ND_RI8
(same goes for WriteXXX -> ND_Wxx)
Thanks to the managed stack frame one can implement these quickly.
With that patch applied this example .NET 1.1 application finally starts
successfully. ;-)
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