[Gtk-sharp-list] Deploying GTK# applications on Windows

Brad Taylor brad at getcoded.net
Mon May 14 17:15:29 EDT 2007

Hi there,

> I'm trying to get a simple "hello world" GTK# 2.0 application to run
> on a Windows machine, with the only requirement that the Microsoft
> .NET Framework is installed.  I really don't want to require users to
> run the GTK# Runtime Installer
> [http://forge.novell.com/modules/xfmod/project/?gtks-inst4win].
> I can't find much information on what the minimum requirements are to
> get GTK# applications running on Windows (using the Microsoft CLR).  I
> tried simply copying all of the GTK# assemblies to the deploy machine,
> but I then get an unhandled "System.TypeInitializationException" from
> Gtk.Container.  When I try a simple Glade# application, I get a
> DllNotFoundException for libglade-2.0-0.dll (despite it being in my
> application root).

The folder which contains libglade-2.0-0.dll (and all of the other Gtk+
libraries) needs to be in the user's PATH env variable for gtk-sharp to
find the necessary assemblies.  However, you'd probably be better off
copying the whole Gtk+ tree (i.e. etc/, lib/, bin/ and share/) to where
your exe and gtk# libraries are located, so gtk+ and pango can load all
their dependencies.  For an example, check out the way that Pidgin ships
their Windows version.

I'll be honest though, I don't think this approach will trivial, so I'd
recommend modifying the Gtk# runtime source to also install your
application.  Note, however, that both Paco Martinez's installer
sources, and Medsphere's installer sources are GPL, so you'll be
required to release your installer changes under the same license.

> I also can't find the source for the Runtime installer, so I can't
> look at it to see what it's doing and just incorporate that into my
> own installer.

While we've included source zips with all our installer releases since
day 1, we (at Medsphere) have just opened up our Subversion archive of
our GPL'ed installer sources to Sourceforge.net[1].  Our project page is
located at https://sourceforge.net/projects/openvista/.

Our current version includes Gtk# 2.8.3 and Gtk+ 2.10.7, but we plan to
have a version out which includes Gtk# 2.10 as soon as the Windows fixes
that are in SVN are released.

We welcome any contributions that you, or others, may have.




More information about the Gtk-sharp-list mailing list