I have built from scratch a PXE Network OS Deployment server, it relies upon linux DHCP/PXE/TFTP server, Custom Windows PE WIM image, SEVERAL home-spun AutoIT, VBS, and batch scripts, a custom home-spun Visual Basic 6 Menu (.NET apps WON’T run under PE), and a whole lot of time building it.
Currently I have deployments built for Windows XP Pro, XP Tablet, Windows 7 (all 32&64bit), and Windows 8 Pro (testing).
After the OS image deploys, there is a POST install script that runs and loads a slew of free programs such as Acrobat Reader, Chrome & Google Drive, .NET, Firefox, G.I.M.P., LibreOffice, MediaPlayer Classic, MS Security Essentials, PDF Creator, VLC, and WinRAR.
The POST install script also checks a database for the serial number of the PC and can apply additional settings, such as joining my domain, renaming the PC, and Activating Windows. If the serial number is NOT in the database, it will assume it is a “customers” PC and it will not join the domain or activate windows and will rename the PC to a combination of the “Make and Model” of the PC retrieved from WMI. The last step is to enable Windows Update, and attempt to force install updates, though some customer PCs may not have NIC drivers loaded to do so, so this step may fail and is scripted to do so gracefully.
If computers are joined to my domain, upon first login they will have installed, by login script, all of my networked printers and a desktop icon to “Install New Software”. My “Install New Software” icon launches a custom application which will read the currently logged in user’s AD memberships, and automatically install which ever programs are in their memberships.