Free and open source, some nice scripting tips can be found here
To create an installer that can also download needed redistributables like Visual-C runtimes, SQL Server and .NET Framework, take a look at Inno Setup Dependency Installer
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy to extend, add custom behavior
Can easily script own functions to run at various stages of the install / uninstall process.
Pro Well supported
Frequent updates to keep up with the latest OS features, fix bugs. Also has attracted a good deal of 3rd party support (extensions, environments etc). Good community resources for tackling problems.
Pro Well written documentation
Well indexed and accurate Help file included with the scripting environment.
Pro 32 bit / 64 bit support
Covers both 32bit and 64bit software
Pro Does not use Windows Installer MSI files
Uses a dependable, proven non-MSI approach to installation and uninstallation.
Cons
Con Pascal scripting
For programmers used to C and C#, the Pascal scripting syntax is something that takes a while to get used to.
Commonly Compared
Alternative Products
