How to package a haskell gtk2hs glade application on windows? How to package a haskell gtk2hs glade application on windows? windows windows

How to package a haskell gtk2hs glade application on windows?


I finally found the answer for my own question. I used de Inno Setup utility (which you can find here: http://www.jrsoftware.org/isdl.php) to make a Windows installer.For a GTK / Glade / Gtk2hs application called Crosschecker I used this confiuration:

; -- crosschecker.iss --; For making the crosschecker installer.[Setup]AppName=CrosscheckerAppVersion=0.1DefaultDirName={pf}\Crosschecker; Since no icons will be created in "{group}", we don't need the wizard; to ask for a Start Menu folder name:DisableProgramGroupPage=yesUninstallDisplayIcon={app}\crosschecker.exeOutputDir=userdocs:Inno Setup Examples Output[Files]Source: "crosschecker.exe"; DestDir: "{app}"Source: "window.glade"; DestDir: "{app}"; GTK+ dependencies; DLLSource: "libs\libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\jpeg62.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libtiff3.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libpng12-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\intl.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libglade-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\libxml2.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "libs\iconv.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "etc\gtk-2.0\gdk-pixbuf.loaders"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion[Icons]Name: "{commonprograms}\Crosschecker"; Filename: "{app}\crosschecker.exe"Name: "{commondesktop}\Crosschecker"; Filename: "{app}\crosschecker.exe"

Most of the .dll's come from GTK, a few from the gtk2hs package... I copied all .dll's to a lib directory, so that's where the Inno Setup config looks at.

HTH,

Jarra