- customer reports an unrecoverable BSOD or black screen during setup when booting directly from the retail Windows 7 DVD
- the root cause is an unforeseen interaction between newly released hardware and the driver included on the Windows 7 retail DVD
- a newer, fixed driver is available for download from Windows Update or a vendor website, but not via Dynamic Update
- customer has a USB flash drive with enough free space to hold the fixed driver
- customer does not have a high-speed Internet connection to receive a new ISO with fixed driver injected
- shipping a new DVD image to the customer is too costly
Solution:
- Create an AutoUnattend.xml file on the root of a USB drive such as the example below
- Copy new driver files including .INF file onto the USB drive (driver cannot be an msi/msu package or setup exe, it needs to be the uncompressed contents of a driver package.
- Boot Windows retail DVD
- Plug in USB key before setup begins
Notes:
- Should work for both 32-bit (x86) and 64-bit (amd64/x64)
- May also work for Vista
- %configsetroot% refers to the path where setup finds AutoUnattend.xml so no special copy commands or $oem$ folders are required
- You need to include <UseConfigurationSet>true</UseConfigurationSet> when using %configsetroot%
- The drivers on the USB key will only get installed if they are a better PNP match than the drivers on the DVD. So they need a newer version number/date or simply a 4-part PNPID match vs a 2-part PNPID match.
AutoUnattend.xml
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <servicing></servicing> <settings pass="windowsPE"> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="1" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UseConfigurationSet>true</UseConfigurationSet> </component> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="1" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UseConfigurationSet>true</UseConfigurationSet> </component> </settings> <settings pass="offlineServicing"> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="2" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="2" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> </settings> <settings pass="auditSystem"> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="3" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DriverPaths> <PathAndCredentials wcm:keyValue="3" wcm:action="add"> <Path>%configsetroot%</Path> </PathAndCredentials> </DriverPaths> </component> </settings> <cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend>
Please reply back with any feedback and I'll update this post with any suggestions.
This post has been edited by danchar-msfn: 28 October 2009 - 10:31 PM



Help
Back to top












