yokozar ([info]yokozar) wrote,
@ 2008-08-03 05:15:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:ubuntu, wine

Bundling Windows Mono 2.0 with Wine
Mono 2.0 is set for a stable release in September.  This puts it right on target to be shipped with Intrepid.

Wine needs an implementation of the .NET library in order to run a good chunk of Windows software.  Some programs won't even install without .NET, even if they don't use it at runtime (programs obtained through the Gamers Gate downloader, for instance, behave this way).

Bundling Mono with Wine has so far been largely pointless - Mono simply didn't support enough of the API to attempt to run these programs.  That's changing a bit with Mono 2.0, and hopefully not having Microsoft's .NET runtime won't result in a completely useless setup.

The goal is to be able to run programs with "mixed mode assemblies" - that is, programs that use both .NET stuff and also call the stock Windows APIs.  These impure programs can't possibly run on Linux without being rewritten, no matter how good Linux Mono gets.  This is where the Wine and Mono projects overlap.

So, here's the idea: I create a wine-mono package which has the Windows version of Mono 2.0 included.  We then jerry-rig wineprefixcreate (the program that runs the first time you use Wine if you have no ~/.wine directory) to also install Mono 2.0 and set it as the .NET handler in the same manner as winetricks.

Ideally, this means most .NET apps the user wants to run will work out of the box (provided they have a clean Wine directory).  If the user wants, they can also install Microsoft .NET on top of what we provide (using actual winetricks this time), and that should still work.


Of course, actually making these modifications and properly packaging up Windows Mono will be quite a bit of work, and I have a huge Wine todo list already...



(Post a new comment)


(Anonymous)
2008-08-03 01:04 pm UTC (link)
If this makes a ton of apps install/work, I'm all for it

(Reply to this)

Completely linux toolchain
[info]badrunner.net
2008-08-03 02:47 pm UTC (link)
Interestingly, you may be able to build the mono package using the gcc mingw cross compiler toolchain, so that this could get into universe (and potentially main in the future).

(Reply to this)(Thread)

Re: Completely linux toolchain
(Anonymous)
2008-08-04 12:58 am UTC (link)
Debian is already building Windows versions for gzip-win32 and cpio-win32. They are even built in the same source package as the native version. As you can see, they are in Debian's main, so Ubuntu Universe should hopefully not be a problem. :) (Given that Mono's Windows version don't have unfree dependencies)

Sincerly
Sveinung Kvilhaugsvik

(Reply to this)(Parent)

Taking the idea further (9.04 and beyond?)
(Anonymous)
2008-08-03 06:05 pm UTC (link)
When taking the idea further, you could also add packages for the most popular wine apps and codecs (a wine-msttcorefonts, wine-firefox3, wine-xvid etc.) in order to make the support even easier.

Stuff like msvs-runtime distributables and directx redist could be packaged as well, if their license allow it...

(Reply to this)

Awesome
(Anonymous)
2008-08-05 01:13 pm UTC (link)
I have been waiting for years for this happen. I write .NET applications and one of the things holding back a lot of business from switching to Linux is the fact that they have to run .NET apps which also use some of the Windows API's directly...take scanning a document as an example. You have to call the TWAIN API to use it, but Linux doesn't use TWAIN.

(Reply to this)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…