I would recommend taking a look at the Windows Installer XML, commonly called WiX. This is a bit more complicated than Visual Studio installation projects, but it allows you to treat your installer as source code.
Longer-term maintenance of installers is easier than GUI-based alternatives. Microsoft uses it to create many of its own installers.
It is available here: http://wix.sourceforge.net/
A good primer for beginners is available here: http://www.tramontana.co.hu/wix/
Be careful, MSI has a slightly steep learning curve. The biggest problem you are likely to encounter is not with the Windows Installer (MSI), but with deploying the .NET Framework on target computers. Unable to install .NET from the Windows Installer - you will need a separate executable “boot” that installs .NET before starting MSI.
source share