Trying to create an installer for Windows 2008 of a .NET application which installs several services and a Web front end has been fun. I looked at several applications to do so:
Wow it is expensive and if you want to do anything even vaguely harder than copy some files to the harddisk it looks like you need to program it all yourself anyway and support is paid for and the forum does not include much help. After a frustrating time of having to program all of my own file permissions. Needed network service user to have write permission...obviously though network service does not exist on Windows 2000. I used the lovely GUI tool set the permissions, but there is no way in the GUI to say but if the user does not exist, just carry on the install. So yes you have to script to set the permissions... same was true of anything in IIS.
Looked promising, but again getting towards the good stuff like detecting .NET versions and downloading the required version, and again IIS stuff required separate console programs.
Well it is still not perfect, but the community provides lots of .NET and IIS examples and the documentation is certainly more comprehensive than the other two.
Nothing truly fits the bill, there is no easy way for me to have a drop down that allows me to specify the website (all GUI tools either ignore IIS or only install to the Default web site), no simple requires .NET 3.5 checkbox so I do not need to code error messages checks and downloads.
For the price Installshield charges I am sure there must be a place for a GUI installer that does the above. For the time being I am sticking with InnoIDE. It is not perfect, but it is the best I have found so far and it is free!