I am in a similar situation as you, so I came up with my own solution and programmed something in autoit. pxeboot client machine. Call ipxe -> pxelinux.0 (ipxe speeds things up a lot) Have a menu choice of either BartPE, WinPE3.1 x86, or WinPE3.1 x64. Depending on the RAM and CPU type you will boot the appropriate PE environment. BartPE requiring 386MB+ RAM, still I would like it to be smaller... the PE environment startup script points to the server and launches the application In the application you choose a preped wim file, select the NT5/NT6 (named to Windows XP and Windows 7 for other techs) and chose the architecture type in the cd keys of windows and office if it is selected type in some admin users and limited users, change the picture if you want select some software to be installed type any wireless settings type a computer name in The GUI runs another program which runs CPUz and determines the manufacturer and model of the machine. If you have previously backed up drivers for that model operating system and architecture the status light will change and give a little popup which says drivers backed up or not etc. These will be used and copied to c:\drivers. If you install windows xp the program uses peimg to pre inject the drivers, otherwise windows 7 it will use dism to inject the drivers. If no drivers are previously backed up or the DP box is ticked then it will use yet another autoit script to scan through the driverpacks repo and either peimg/dism inject ones that correspond to the system. note however this only applies to the current PE environment eg only bartPE can be used to peimg inject xp drivers, winPE3.1 x86 can only be used to dism inject win7 x86 drivers etc. Another option I will include later will be to simply copy the entire driver repository and run a post os install driver install. All driver bases covered.. After pressing OK it does some syntax checking eg properly formatted computer name or user name etc and then generates a batch file which does all the work of prepare the drive, eg format, make active, install a bootloader apply a wim file to that drive copy the drivers to c:\drivers if windows xp use fix_hdc to apply mass storage drivers, if windows 7 use fix_hdc_7.vbs to apply correct mass storage drivers if windows xp use anoter autoit program (CPUZ based) to detect CPU and install correct HAL copy all the install programs and related scripts into place reboot The wim files all need to be prepared in a way that will go and go and run the scripts that get copied into place, this differs with each one. With the windows 7 images I have a code in the unattend.xml which create the admin user and then runs a script which creates something under startup on the startmenu which in turn runs the main script... Same kind of concept with windows xp image. I do not have plans to share code right now as it is messy..., however it may inspire you. Good luck on your project. Feel free to ask any questions runpeWIN7.cmd runpeXP.cmd