Most developers and engineers that have experience writing software and deploying with the packaged Visual Studio Setup Project know about it's many shortcomings. Usually in regards to installation customization, upgrade paths, etc. What are some good alternatives for software deployment? In particular I'm interested in features, .NET integration or scripting capabilities, easy of use, and price.
NullSoft Installer is my all time favorite. It creates the smallest setup executables possible. Also Uninstall is super clean. It will remove all the traces and leave PC in the same shape as before installation.
NullSoft Installer (NSIS) is good, but building the scripts is painful - even with HM NIS Edit. You basically have to learn a whole different language to be able to work with their scripts. Example:
Plug-ins are necessary to do a lot of things as well, like check the .NET framework version or see if the application you are updating is already running.
Aside from that though, once you get everything configured it is fast and works well. There's really not a better installer (for free) out there.
See http://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers for a discussion of several good solutions.