August 13, 2004

The Relation Between the Mono/Gtk# Win32 Installers.

I want it to point out what is the relationships between the Combined Mono/Gtk# installer, the Gtk# Win32 Installer for the Microsoft .NET Framework 1.1 SDK and the "work in progress" vsprj2make Visual Studio Add-in.

The Combined Mono/Gtk# installer is supposed to be as close of a representation of a Linux Mono development and runtime environment in your Win32 machine without needing to have Cygwin or MS Services for Unix.

The Gtk# Win32 Installer for the Microsoft .NET Framework 1.1 SDK is supposed to augment the MS .NET Framework SDK so that a programmer will have all of what she/he needs to build functional Gtk# and Glade# applications. If you are only building Microsoft .NET Framework applications but want to present a Gtk# GUI, then this is the installer for you. Mono, Cygwin or MS Services for Unix are not required in any way but the Gtk# Win32 Installer for the Microsoft .NET Framework 1.1 SDK was designed to coexist quite harmoniously with them. In fact there will be scenarios in which you will want to have combinations of these installers present on your system.

The "work in progress" vsprj2make Visual Studio Add-in is a complement for Visual Studio .NET 2003. Soon the maturity level of the Gtk# installer for MS .NET SDK and the Combined Mono/Gtk# installer will be at a point where I can resume work on this Add-in module. The Add-in will require the Combined installer and will benefit greatly if the Gtk# installer for MS .NET SDK is present.

The last thing I want to say is that if all you want to do is to have the Combined Mono installer. You would only be missing a decent text editor and nmake.exe.

Thank you


I want to thank Niel M. Bornstein for writing and recommending my work. I also want to thank Gonzalo Paniagua Javier for taking from his all to busy schedule and take the first stab at building the filth iteration of the combined installer that is now available at the mono-project.com/downloads page.

Links to the different projects:


Combined Mono, Gtk#, XSP Win32 Installer
http://forge.novell.com/modules/xfmod/project/showfiles.php?group_id=1395&release_id=2001#selected

Gtk# Win32 Installer for the Microsoft .NET Framework 1.1 SDK
http://forge.novell.com/modules/xfmod/project/showfiles.php?group_id=1480&release_id=1984#selected

Gtk# Library Reference for Visual Studio .NET 2003
http://forge.novell.com/modules/xfmod/project/showfiles.php?group_id=1480&release_id=2000#selected

vsprj2make Visual Studio Add-in is a complement for Visual Studio .NET 2003
http://forge.novell.com/modules/xfmod/project/showfiles.php?group_id=1395&release_id=1852#selected

Editor choices that Paco uses while in Windows:


PEdit (which I wrote):
http://www.mfconsulting.com/download.htm

gVim for Windows:
http://www.vim.org/download.php#pc

What Make to use in Win32


A great choice would be to install cygwin and then use the Make tools availble there. You could also use NMake which comes free of charge in the MS Platform SDK, .NET Framework SDK and with most of the Microsoft Integrated Development Environments. You could use the Make tools that are included in the Windows Services for Unix.

Link to NMake.exe download
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q132084

Link to cygwin:
http://cygwin.com

Link to Windows Services for Unix
http://www.microsoft.com/windows/sfu/downloads/default.asp

Posted by martinf at August 13, 2004 06:37 AM
Comments

Just a little question about GTK#: Will there ever be bindings between GTK# and Windows.Forms, so that one can develop with the System.Windows.Forms classes and still make the applications deployable on Linux?

Or is GTK# needed on all computers that is going to run a Mono GUI application? If so, how will it look? GTK+ looks the same on Windows and Linux, which makes Windows users feel very alienated in GTK+ applications.

I thought some of the point with Mono was to make applications behave as natively as possible on the operating system they run on, but if GTK# is needed, and GTK# looks the same across all platforms, then this point isn't achieved, right?

Where am I wrong and where am I right? Thanks in advanced for any explanations on this.

Posted by: Asbjørn Ulsberg at August 13, 2004 07:50 AM

Hola Asbjørn:

There are forces at work in Novell as we speak that are working diligently to make System.Windows.Forms more of a usable reality in Linux. There was some early prototypes of SWF support in Linux but it was very tightly coupled with WINE. This new Novell backed effort may not be so dependent if any on the technology choices of the past.

The intention to provide GTK+, Gtk# alternatives to our Windows developers is one of choice and availability. Gtk# works very well in Linux and other OS platforms. While in Windows, there are GTK themes that will make the superficial appearance of Gtk# applications look that much different than the ones in Windows XP and Windows 2003 Server. I will even argue that the appearance is not that relevant or at least may be offset by the tremendous value you get in exchange as it can be seen from great Open Source apps that have been ported to Win32 (X-Chat, Gimp 2.0, Gaim, etc).

Thank you for posting the comment. Good opinions and stimulating discussions are always welcome!

Paco

Posted by: Paco at August 13, 2004 11:08 AM

I see the value in using GTK# on Windows, but I have always had the impression that Mono was going to be able to handle WFS pretty natively and transparently regardless of what platform the application was running on. If Mono was present, the application ran.

I hope this might be a reality one day; that you can develop one WFS application in e.g. Visual Studio.NET, deploy it to Linux, Solaris and MacOS, and the application will automagically adhere and adapt to the native rendering regimes of the operating system, and not diverse from other truly native applications.

Posted by: Asbjørn Ulsberg at August 13, 2004 05:34 PM

Hi Paco,

Thanks for the great installer. I thought I would take it for a spin, so I first made sure I has uninstalled only old versions of MONO and then run your MONO 1.0.1 and GTK installer on my machine (which is Windows Server 2003).

The install worked fine; however nothing ran, which appeared to be because all the batch files were referencing "c:\mono\mono-1.0\..." while in the installer I just accepted the default which was "c:\program files\Mono-1.0.1\...".

My solution was to uninstall, and then reinstall selecting "c:\mono\mono-1.0\" as the installation directory - and now everything works perfectly.

I have no idea what went wrong with the install script? I thought it might have been that I had MONO PATH set from a previous install to that directory, but I checked and I didn't?

Anyway..Great work - I just wanted to provide you this feedback in case it helps you improve the installer.

Posted by: David Taylor at August 14, 2004 01:48 AM