I have had great success using command line parameters to perform automated installs.
Most installer systems support a level of configuration or automation by passing the correct parameters, given that these can be written once in batch file (or some other script) and then executed on multiple machines they can provide quiet lot of "bang for the buck".
At work we use a similar system, the software deployed will typically change annually (new version or service pack), and we run the script on approx. three new PCs each week. This means that the scripts require maintenance infrequently, while executing them is a manual but trivial task.
msiexec is the utility provided with windows to automate the (un)installation of Microsoft's Windows Installer based products (.msi/.msp).
A typical silent install command:
msiexec /qb /i product.msi REBOOT=ReallySuppress
Note: here REBOOT
is a parameter, product vendors can implement custom parameters and it can take a little bit of research to find them if the documentation is patchy.
NSIS (Nullsoft Scriptable Install System) is a popular opensource Installer System. In this case the installer executable can be executed directly.
A typical silent install command:
install.exe /S /D=C:\Program Files\product
InstallShield is a popular commercial Installer System. This one is a bit trickier as you first run the installer in record mode, and it logs you selections and input to a response file (.iss). Then later you can playback that response file on another machine for a silent install.
A typical recorded install (recording to setup.iss):
setup.exe -r -f1setup.iss
A typical blocking silent install (playing back setup.iss):
setup.exe -sms -f1setup.iss
Some further information about these and other systems can be found here.