Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 5 years ago.
Improve this question
The company I work for has been using a certain installer for the past few years (its name is very similar to another installer product from which we switched). I was recently tasked with reworking the installer and fleshing out all the little bugs and edge cases that were causing all kinds of problems.
I found the product so inflexible and cumbersome that I really believe we will never have a nice polished installer if we continue using this product.
The scripting language used is very limited and can only be worked with through their IDE (which is some over engineered text editor in which the ENTER key does not do what you think it should) and the files are not saved in pure ASCII format but some custom gibberish.
Their entire emphasis is on using their designer, which of course messes up all custom logic in the script.
Their plugin collection is bleak to say the best and the product itself has plenty of bugs. (Don't fear, the packaging is beautiful)
I'm looking for a installer product with a powerful enough scripting language and toolkit (or plugins) to handle our installation which involves creating windows services, internet downloads, IIS sites, SQL server databases, and all the other usual stuff.
If it's one thing I ask for, it's a powerful scripting language which lets me be in control. It does not have to be pretty or have a designer.
You might want to look at nsis, it is the installer used by among others Winamp. Its scripting language should be powerful enough for your situation, and it supports plugins as well. I doubt it has a designer though.
You can download it from sourceforge for free.
i have used innosetup for ages, there is a free ide istool which is very easy to use
it is a very simple to edit script in notepad, it is like a windows ini file
the only downside is that if you need to write custom scripting within the installer, eg verifying serial numbers etc, then you need to have a basic knowledge of pascal
that said, there are heaps of examples for everything i ever needed, eg detecting and installing dotnet, etc
go to www.innosetup.com and download the quickstart package, that has istool bundled
Windows Installer XML (aka WiX)
It's powerful, it doesn't come with a designer, everything is saved as XML. A bunch of extensions are shipped that enable you to do IIS/SQL stuff, or else you can develop your own.
The learning curve is steep, WiX is just an XML representation of Windows Installer databases. If Windows Installer supports it, WiX supports it. If it doesn't, then you'll need an extension or a custom action.
First steps, if you want to go down the Windows Installer path is to pick up The Definitive Guide to Windows Installer by Phil Wilson. Understanding Windows Installer is key to building a beautiful, well maintained, well designed installer using WiX. This isn't some crappy book, the guy knows his stuff and explains everything in something like under 250 pages (and that includes all the .NET stuff I skipped reading!).
Best of luck :)