FAQ
Who are you?
I'm Rob Segal a software developer working at 3DNA Corp in Toronto, Canada. I have a great passion for developing software and I look forward to hearing from you! Send me your thoughts on whatever you find while browsing this site.
What is this thing?
The install script generator is an application I created while working at 3DNA (www.3dna.net). It was created to solve a specific problem we were having creating installers but I have found it may be useful for others and so set it up as an open source project on SourceForge in June 2004.
For some months in 2003 I was being required to generate several installers during the day for distribution to clients and for testing internally. Each installer contained it's own unique combination of files and registry keys. Previously we had been making use of WISE for this purpose. That had worked well enough for a number of months but it wasn't perfect. It did not allow for the kind of rapid modification of files registry keys and other data necessary to be included in any given installer. These problems would soon be complicated when we switched to using NSIS, a free open source install package creation tool. However that switch would be the catalyst for the creation of the Install Script Generator. NSIS didn't really solve any of the problems we had with WISE as it's simply a scripting language and does not offer an IDE in anyway although there are a number of user created IDEs which serve this purpose. Unfortunately these IDEs did not offer the kind of features I was looking for to solve my problems. Some of which were...
- Every file/registry key change had to be done manually in a text editor. If either a file or register key had to be changed in consecutive installers it would need to be done by hand. This is time consuming and error prone, automation is what was needed.
- Didn't have the ability to ignore specific files/folders at the time the installer was created. When creating installers from file bases extracted from versioning systems such as CVS there would be no easy way to ignore files/folders that we're created by such a versioning system.
- If there was an error with the text displayed anywhere in the installer screens the whole installer would be need to be rebuilt. There was no easy way that I found to omit files/folders from an installer. This eliminates chances to do things like being able to quickly prototype the user interface of an install package.
- Keeping maintenance of build package files isolated from how those files appear on an installing system. There are certain instances where it is advantageous to name a file differently on your computer while making a build. I was not given that ability with NSIS. WISE may offer such a feature I'm not presently sure. By the time I encountered this issue we had already heavily switched to using NSIS as our packaging tool so it made no sense to go back to WISE.
I set out to create a tool which would solve all or most of these issues and others like them. Since I didn't have any helper monkeys handy the Install Script Generator was born. It hasn't solved all of the above problems perfectly but it is definitely on the track to do so. I've put it through the rounds using it to make installers for several products distributed by 3DNA which has helped iron out a lot of problems I might not otherwise have seen. The current iteration of the Install Script Generator is definitely pretty powerful but it's not perfect, eventually I believe it will be worthy of the goal I've placed for it.
I hope you enjoy using it and if you have any questions or comments please don't hesitate to contact me.
What can I do with it?
Quite a number of things actually....
- Rapidly preview the UI of your installer by excluding some or all of the files to be included in the installer
- Ignore files/folders or sub folders. This is great for ignoring "CVS" or ".svn" (Subversion) folders from files which are included from a versioning system.
- Maintain multiple language tables. The install script generator is Unicode compliant so you can type whatever language you are using directly into the tool.
- Run pre and post build commands. These are batch files or executables which you can run before and after a build is run respectively to perform pretty much any action you want.
Just to name a few features.
Does it only work with NSIS?
Currently yes, there is functionality built into the tool which directly ties it to the syntax of NSIS but if there is enough interest I may expand that out to cover other install packages such as WiX for MSI installers. Email me and let me know if there is a package you would like to see included.
Enough of this talking, where can I get it?
You can download the latest version here off of SourceForge. If you are interested in being informed of new releases and/or news about the Install Script Generator you should subscribe to some or all of the RSS feeds provided by those fine folks at SourceForge.