Part of my job is "deploying software". This means to install software products on any given number of machines. Needless to say that this must be automated. For that, we use ON Command CCM.
Unfortunately, there are a lot of installers that refuse to be run unattendedly yet remain customizable. While getting a lot of frustration with these (very expensive, btw) products I discovered Inno Setup
Inno Setup is fast, simple and free. Yet it is powerful enough for nearly every job. And if off-the-shelf installing isn't good enough for you, Inno Setup sports a Pascal-style scripting engine which allows you to tweak even the well-hidden bits.
And while you're downloading, please do not forget the excellent GUI front-end for Inno Setup, ISTool:
Please take notice that these guys worked hard for a free product. Consider making a small donation when you find their software useful.