[Gtk-sharp-list] Difficulties in deploying libs that need Gtk+ on Windows

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Mon Jul 31 20:19:17 EDT 2006


Hia folks,

I maintain the Gtk+ bindings for Haskell (Gtk2Hs) and I'm looking for
some advice on how to make things easier for user to install and use on
Windows.

At the moment I rely on installing all the Gtk+ .dll files into a bin/
directory and putting that directory on the %PATH%. Of course like Gtk#
I'm not installing an application but a library for people to use to
build their own GUI applications. (Of course with an application it's
easy as you just bung all the .dll files in the same directory as
the .exe.)

This has a number of drawbacks which people know as dll hell. Trivial
examples include some old incompatible version of libz.dll sitting in
the windows or system folders and getting picked up before the proper
version installed with Gtk2Hs. So the Gtk2Hs installation end up not
working in some significant minority of cases.

So I'm hoping that the Gtk# win32 folk have figured something out that
I've missed to make this issue of locating .dlls just work.

Are you using "side-by-side assemblies" at all? This seems like it'd be
a good approach from what I can find on MSDN. The Gtk+ dlls could all be
installed as a versioned assembly and each GUI program would specify in
their (possibly embedded) manifest that they need the Gtk+ assembly.

If you are using assemblies, how do you get that to work with gcc on
windows or do you need to use other MS tools to embed manifests in dlls?


Anyway, thanks in advance for any advice.

Duncan



More information about the Gtk-sharp-list mailing list