InnoSetup- Free Installer for windows

InnoSetup is ranked as the most powerful open source windows installer. So if you are planning to make installer for windows OS only then InnoSetup is the first choice.Following are my few points about InnoSetup after using it in one of my project:

  • The only drawback is that one has is to use Pascal scripting for doing complex tasks.
  • The good thing is that there is rich set of pascal APIs available in Innosetup that make your life easy in performing complex task.
  • There is GUI form designer separately available for download from here. This would provide Visual Basic like Form designer to design installer screen. On the backend it generates the pascal script code that one can paste in innosetup installer.
  • There are few very useful API functions I would like mention:
    • SetIniString() – Used to set any property in property file. Usually installer has to make changes in the configuration property files. So this function is very handy.
    • ExpandConstant()– It is used to convert installer variables into value.  e.g. the path where user selected to install application so ExpandConstant(‘{app}/myFolder’) would be resolved as “userSelectedfolder/myFolder”.
    • DeleteFile() – Delete file physically. This is necessary for installer to remove temporary files after installation
    • LoadStringFromFile()– Used to load whole file in String variable.
    • StringChangeEx()–  Find/Replace a value in String.
    • SaveStringToFile()– Save String in File.
    • RegQueryStringValue()– Query windows registry to find any registry value.
    • Exec() – execute any executable file. Can be handy if setup needs to run another setup internally.
  • Followings are some useful wizard events:
    • CurStepChanged – Called whenever installer wizard page changes. Provides variable in the argument that tells what page it is.
    • CurUninstallStepChanged -Called whenever Uninstaller wizard page changes. Provides variable in the argument that tells what page it is.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s