Look into SYSPREP, which is part of the WAIK mentioned by jrista. It allows you to create a generic installation image with whatever software you want, then package it for installation on any hardware. SYSPREP will take care of installing the right drivers, kernel, etc. Most large IT departments use this in one form or another when deploying images.
The other solution is to create your own post-install script. If certain settings and apps must be on all computers, and you can automate those installers and settings, you can create a batch file to do all that for you. Stick all the installers on a flash drive, run your setup batch file, and voila it does the rest automatically. Most installers have a silent install mode. Anything using Microsoft MSI you can run
installer.mis /passive /noreboot and it will do a default install and not reboot after. Try googling software name silent install for your other software. Most popular software - MS office, Firefox, Chrome, 7-zip, adobe flash player, adobe reader, and tons of others support it.
I created a system like that for my school's science department. It just goes down a list of software to install and registry settings to add, then reboots the system at the end of it.
Example batch file:
echo Preparing to install software and customize settings
echo Installing Mozilla Firefox...
start /wait "Firefox" "..\installers\firefox_3.6.6_installer.exe" -ms
echo Done installing Mozilla Firefox
echo Installing Adobe Flash Player...
start /wait "Flash" "..\installers\adobe_flash_player" /S
echo Done installing Adobe Flash Player
echo Applying registry settings...
regedit /S ..\regsettings\windows_settings.reg
regedit /S ..\regsettings\app_settings.reg
echo Done applying registry settings...
echo Restarting... please wait
By using the
start command, you can make the batch file wait until the installer is finished running. Type
start /? into the command line for more details.