Since my Cherokee patch, I've been playing around with NSIS, the Windows tool for building installers. One of my obsessions with software is that entry barriers should be as low as possible in order to have a successful product and let people enjoy with it.
I've been using Python and PyGTK for five years, I think that right now, are probably the easiest and funniest tools to get introduced into software development and gui programming on the free software world. One of the most interesting feature is that they're both cross-platform, so you can write software that can run in 90% of its code on almost any UNIX, Windows and Mac OS X.
Although, the problem with PyGTK is that is hard to setup on the most popular enviroment, Windows, which kills its potential success on the mass audience. Why is that hard to setup a PyGTK working enviroment right now? Well, let's take a look on the steps you need to take if you don't know anything about python and/or pygtk:
- Go to pygtk.org
- Go to the download section and figure out where the Windows installer is.
- Download the PyGTK Windows Installer from the GNOME FTP.
- Install it and figure out that you need the Python Installer (that's not explained).
- Install it and figure out that you also need PyCairo and PyGobject. (not explained)
- Install Py[Cairo|Object], try PyGTK, and figure out that you also need the GTK+ runtime for windows, which is on an unofficial webpage, since the official win32 gtk+ binaries are a bunch of .zip files. (not explained and very hard to figure out)
- Write "Hello World!".
As a summary, you have:
- 5 different installers from 3 different sites
- 3 critical steps not explained from the website, which force people to ask google and waste lot of time.
I would like to know how many windows users (which are the most of the people out there) have had gave up before to be able to even write a hello world and make it work.
Solutions? Well, the website issue is been addressed since I've been discussing this on the mailing list. Join the discussion.
Until then I've been using my NSIS-fu, and I've created a rudimentary installer that has everything together:
There is some things that I want to fix, for example, the PyGTK modules cannot be installed in silent mode, so it appears three dialogs "extra" that I would like to override. I also would like to fix some uninstalling problems and be able to detect previous Gtk+ or Python installations on runtime.
If you wanna help, patches are welcome: