UPDATED: Added comparative
screenshot.
Just finished a small program for resizing images, more as an exercise to learn various tools than anything else, though I think I will be using it. It was developed in python, using
PyQt. First, used
Qt Designer, and created the ui files (
imageresizer.ui and
imagepreviewer.ui) and the implementations (
imageresizer.ui.h and
imagepreviewer.ui.h). These were translated to python source code using
pyuic.exe that comes with PyQt. To test them I used
Image Resizer.py. After playing with all these for couple of hours, when things started to look satisfactory, I started thinking about distribution. I have individually installed Python, Qt and PyQt, which not everyone has,
py2exe to rescue! I had to create a small
setup.py, and run
"python setup.py py2exe --includes sip", to generate self contained executable resolving all the dependencies. Then I had to create some icon file, and found
LiquidIcon quite handy. I wanted to add an item to right click context menu for image files in windows explorer, that will launch the resizer, not having any experiece with that, I found
this very informative. The final step was to put everything together and creat an installer. I had two free options,
NullSoft's
NSIS (Nullsoft Scriptable Install System), they have quite a few interesting
projects; and
Inno Setup. Both of them are quite cool, come with decent editors to speedup the work, have very little overhead on executable size, good compression etc. I went ahead with Inno Setup, as as soon as I had finished installing it, the editor popped up, opened a wizard, and I finished creating my first installer in less than the 5 mins Firefox told me the other fellow is going to take for download. I tweaked it a bit for next half an hour or so to get the registry setting working.
installer.iss (Open it in
ISTool). Finally, putting together 7MB for Qt, 1MB for Python, and 20KB for my scripts, I got a 2.64MB
installer.