Dan Kegel recently listed this as a possible 1.4 goal:
Mono integration similar to the current Gecko integration
He may have meant one or both of the following things: 1. A more-or-less complete mscoree.dll that works based on the mono embedding api, as well as replacements for all the utilities that ship with .NET. 2. A wine-mono package similar to the current wine-gecko package to be installed automatically in new prefixes.
I am making very slow progress with 1. I believe the current major shortcomings are functions that create COM wrappers for managed objects (ClrCreateManagedInstance and DllGetClassObject) and functions that search for and load different .NET versions (I believe these will be needed so that the managed objects we create will load and function properly). Mono already provides COM wrappers, so all we have to do is create the objects and pass COM wrappers to applications.
I'm making this judgment based on the limited pool of mscoree bugs in the Wine bugzilla. I wish more people would file bugs when Mono doesn't work.
I figure 2 can't be very technically difficult in and of itself, but when will we be ready to do that? What are the requirements? Do we want to go the "offer to download and install on first use" route first, and if so when will we be ready for that?
Do those functions I mentioned earlier have to actually work first?
The one hard requirement I have and have not met is that a working mono package can be built by me using only free software and that I can explain the build process to other people. I can do this for the core runtime and libraries, but I cannot do this for the gluezilla dependency.
This gluezilla thing is sort of explained here: http://www.mono-project.com/WebBrowser
Basically, .NET provides a web browser control, which Mono implements based on Gecko (or, optionally, WebKit). The official installer of Mono for Windows, which is what anyone who uses Mono in Wine uses, ships with Mozilla. It also ships with gluezilla, which is a C++ library that helps the managed code link Gecko.
I don't think it'd be acceptable to leave out WebBrowser support.
I am not currently able to create a Windows build of gluezilla or gecko using only free software. As I understand it, the official Windows build relies on Visual Studio. I do not know whether it's feasible for gluezilla to link to wine gecko, so that we don't have to install two versions of gecko.
I also know that shipping gluezilla and gecko on Windows is wrong. Mono's wiki tells me that it's possible in .NET to access the underlying IE embedding objects through the winforms api, and those only exist if we're embedding IE. So the correct approach is to embed IE (in this case, Wine's IE replacement) by writing another WebBrowser backend. I don't know how hard that is. Maybe it'd make a good Summer of Code project?
So, does anyone have other requirements, or thoughts on resolving the WebBrowser requirement?
On Wed, Sep 1, 2010 at 6:24 PM, Vincent Povirk madewokherd@gmail.com wrote:
I'm making this judgment based on the limited pool of mscoree bugs in the Wine bugzilla. I wish more people would file bugs when Mono doesn't work.
For what it's worth, I've been watching wine-bugs for when dotnet20/mono26 is mentioned and testing the app with mono. Most of the time, however, I usually only test the installer, since I rarely know the application well.
That's found a few bugs, but hopefully I'll find you more in the future.
Hi,
I am not currently able to create a Windows build of gluezilla or gecko using only free software. As I understand it, the official Windows build relies on Visual Studio.
The express versions of Visual Studio are free. Some work might be required to make the project files work with the express versions though.
Rolf
On 2 September 2010 03:09, Rolf Bjarne Kvinge rolflists@ya.com wrote:
I am not currently able to create a Windows build of gluezilla or gecko using only free software. As I understand it, the official Windows build relies on Visual Studio.
The express versions of Visual Studio are free.
But not Free Software. Either way, I doubt we want a dependency on Visual Studio. I think the situation with the gecko build is unfortunate, but afaik Jacek is working on improving that. No need to do it slightly over though, I'd say.
On 09/01/2010 04:24 PM, Vincent Povirk wrote:
The one hard requirement I have and have not met is that a working mono package can be built by me using only free software and that I can explain the build process to other people. I can do this for the core runtime and libraries, but I cannot do this for the gluezilla dependency.
This is nice to have, of course, however I'll note that we don't actually have this with gecko at the moment. Since it's free to redistribute it can still get into (most) distro repositories and ultimately to users (in Ubuntu for instance wine-gecko sits in the Multiverse repository).
So, depending on how amenable you are to the idea, I think it would be ok to get it working on an integration level before we actually make it buildable without windows. Given the additional time and use case Mono itself may very well have advance to make it buildable on free software (as I believe Firefox is doing and why our next Gecko will be freely buildable as well)
Thanks, Scott Ritchie