[Mono-list] Mono and Gtk# installers for Win32
Francisco T. Martinez
martinf@mfconsulting.com
Wed, 15 Sep 2004 06:53:18 -0500
A lot of folks have been asking recently how and where to use what
installer. For a lot of us who use IRC, it may be a good thing to look
over my notes below and -- correct me if necessary -- later spread the
word about this. I hope this helps.
If you want to use Visual Studio .NET 2003 to build Gtk# applications
that will run without having Mono installed in your system. Use:
http://forge.novell.com/modules/xfmod/project/?gtks-inst4win
If you don't have Visual Studio .NET 2003 but want to code using your
favorite editor and perhaps nmake (a Make tool specifically design for
Windows). You need to *FIRST* install the Microsoft .NET Framework 1.1
SDK. This is available here (watch out for URL wrapping):
http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-4070-9f41-a333c6b9181d&displaylang=en
Then you install the Gtk# Win32 installer for the MS .NET Framework SDK
1.1 available here:
http://forge.novell.com/modules/xfmod/project/?gtks-inst4win
Using the software components described above, you could use csc.exe --
that is the C# compiler supplied by Microsoft -- to build your
executable and/or library module assemblies. If it is an executable,
you could run it from the command line by just simply specifying the
fully qualified path to the resulting exe file.
Since Mono is just awesome, you could take that same executable archive
it into a zip file, copy it to a Linux or Mac OS X computer configured
to run Mono/Gtk# and run it there using a command line similar to this:
mono ~/bin/MyGuiApp.exe
The Mono runtime will use the Just In Time (JIT) compilation technology
and turn it int native code which will give it the best performance
during execution. There are times when you are targeting a new type of
hardware (like a new CPU) that may not have JIT available yet but may
already be supported by mint. In such case you can use a command line
like this:
mint ~/bin/MyGuiApp.exe
The Mono interpreter (mint.exe) will be able to interpret the
intermediate language (IL) that is enclosed in your file and run it as
appropriate in accordance with the local machine's runtime knowledge of
the underlying operating system and hardware.
--------------------------------------------------------------------------------------
If you just want to be able to run applications you have already
compiled in Linux while you are on a Windows machine, you could try the
Mono Combined installer. You should be able to build/run your Gtk#
application you compiled in Linux -- provided you don't have GNOME
dependencies -- in Windows without any other piece of Microsoft supplied
software. The latest Mono combined installer is available here:
http://forge.novell.com/modules/xfmod/project/?monowin32
Having the Microsoft .NET Framework and/or SDK installed in your
computer prior to the Mono Combined installer or afterward should not
matter. The Mono Combined installer does not interact with the Microsoft
.NET Framework. It has its own Global Assembly Cache (GAC) and it is
not placed on the system PATH during the installation -- This is by design.
A very common scenario has a developer who has developed an application
using Mono. THE ACID TEST IS: IF YOU USED MCS.EXE TO COMPILE YOUR
PROGRAM PLEASE LISTEN. That developer would then take his/her resulting
binary output (e.g. MyApp.exe) and could run it on a Windows computer
that had the Mono combined installer by going to the Start Menu of that
computer and opening the Mono 1.0.1 Command Prompt. This will spawn a
console session that is at that point configured correctly with a Mono
runtime environment. Just as you would on a Linux shell (Bash or Tcsh)
you could then run you application by type a command line similar to this:
C:\>mono d:\PacoBin\MyApp.exe
Paco
PS
I have done quite a bit of postings in my blog relating to these details
in the past. You may find more information and additional links there:
http://www.mfconsulting.com/blog