Including Mono within a Wine package - should Wine expect this?

Roderick Colenbrander thunderbird2k at gmx.net
Fri Apr 11 07:50:59 CDT 2008


> Dan Kegel wrote:
> > On Thu, Apr 10, 2008 at 7:40 PM, Scott Ritchie <scott at open-vote.org>
> wrote:
> >>  > Wine-mono on the other hand is probably premature.
> >>  > How many apps are helped at the moment by
> >>  >   winetricks mono12
> >>  > ?  I don't think it's a large number.
> >>
> >>  Honestly I don't know.  Is this due to inadequacies in the current
> mono,
> >>  or inadequacies in Wine?
> > 
> > Mono doesn't even try to handle mixed-mode assemblies (i.e. ones
> > that contain some native code).  And by gum, every .net app built
> > by Microsoft tools seems to include some native code for some odd
> > reason.  Go figure!
> 
> Is this true even for the Windows version of Mono?  If Mono is supposed
> to be a replacement for what the .net framework provides, then it seems
> like duplicating this functionality on Windows (and therefore Wine)
> would be part of it.
> 
> I did some searching as for why this is the case.  This link:
> http://www.jprl.com/Blog/archive/development/mono/2008/Jan-27.html
> indicates that the main issue is the loader supporting PE files, which
> is what Wine already does.
> 
> > 
> >>  Either way, Mono 2.0 will finally come out around the same time as
> Wine
> >>  1.0 (quarter 2 of 2008), and I suspect the number of applications Mono
> >>  helps will greatly improve by then.
> > 
> > Maybe, but only apps that have been properly cleaned of native code.
> > - Dan
> 
> Hmm...it seems like gluing Mono and Wine together would require a bit
> more collaboration than the two projects have.
> 
> Thanks,
> Scott Ritchie
> 

For a part the issue is that lots of programs are hybrid ones. Some of them behave 'nicely' in the way they just call a few functions from a native win32 dll. I think apps that embed COM objects (like a Word viewer, ..) are worse as mono doesn't offer this at all. The most problematic thing is that mono's windows.forms is fully managed while microsoft just layered it on top of gdi32/gdiplus/user32. This allows you to use standard win32 apis on most windows.forms controls to override behavior. A lot of apps do this, so even if you could access native win32 dlls, magic like this won't work at all. Second COM objects might also rely on evil win32 magic.

All in all mono only works on a few well behaved apps and most don't behave well. PersonallY I think a win32 mono package for wine is nearly useless.

Roderick
-- 
Psst! Geheimtipp: Online Games kostenlos spielen bei den GMX Free Games! 
http://games.entertainment.gmx.net/de/entertainment/games/free



More information about the wine-devel mailing list