I was a huge fan of Inno Setup, until recently. It was easy, fast to code, free and produce highly impressive installers. From the Inno Setup website:
Inno Setup is a free installer for Windows programs. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability.
But my requirements soon begin growing, and writing scripts for Inno became more and more challenging. Though writing complex scripts with Inno was still possible, but I was never a fan of Inno scripting language Pascal. So, I start looking for the alternatives.
The quest begins...
There were myriads of commercial installers, but needless to mention their value to price ratio tends to zero. NSIS looks to me the only successor for Inno, which I didn't choose years back in favor of Inno. To be honest, NSIS doesn't look good at that moment, the long scripts, complex assembly language type instruction set, and the internet reviews led me to choose Inno setup in favor of NSIS.
Things have changed...
Simply looking at the number of users using NSIS gave me enough boost to try NSIS. The famous users list include: Mozilla, Adobe, Google, Yahoo and so on...
Making the hands dirty...
I tried to port my Inno script to NSIS. Though there are conversion tools available, but they failed to do the job, leaving me with no option, but to rewrite from scratch. It took me some time to Ctrl + Delete years of wisdom related to Inno and become familiar with NSIS way of writing installer scripts. I used HM NIS Edit wizard to quickly generate a basic skeleton script for my program. Adding complex functionality to that basic script was easy, as NSIS wiki contains numerous code examples for the most basic tasks. Though I had some trouble in making a .NET installation as part of the setup script, as most of the sample scripts talk about .NET 2.0, but modifying them wasn't a big deal. NSIS provides a good community support on their wiki and forums.
And the award goes to...
NSIS bags the best setup creator award. Though it big scripts looks like long machine codes and scary, but in fact, its much cleaner and easy to learn, with little effort. The installer size is also much smaller as compared to any other setup creator's result and NSIS features a good range of plugins and sample code for most tasks. The generated setup is also much better than any other setup creator's result. The small things like: better control on the text to be displayed in the setup wizard pages, Modern UI, check whether your application is running during installation, allow only one installer instance, etc. makes a whole lot of difference, in the finished installer.