How drivers are added to Windows PE and Windows Vista during an unattended installation

My MCS colleague and top deployment gent - Mark Aslett has put together a handy process list for how device drivers are added to Windows PE and Windows Vista during deployment. The example below assumes than an unattend.xml file is being used to specify the location of drivers in both the windowsPE pass and the offlineServicing pass of the unattend.xml file.

If peimg is used to inject drivers directly into an offline Windows PE image then this fully installs the drivers, i.e. it performs the registry load, hardware ID and service information reflection, etc, and does not significantly delay the Windows PE boot or Vista deployment times.

BDD 2007 gets around most of the issues around deployment time identified above. When BDD creates the Windows PE boot image it will add any drivers that you specify at image creation time, so there is no need to use the windowsPE pass (or peimg to add drivers directly). BDD 2007 uses the offlineServicing pass for driver injection avoiding the bulk of the delays. It also has the added benefit of only copying across the drivers required instead of the entire driver store.

Big thanks to Mark for sharing his findings...