Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Management Community Blog

Vista Driver Injection for Unsigned Drivers

Created: 05 Aug 2008 • Updated: 27 Aug 2008
Dan Waksman's picture
0 0 Votes
Login to vote

When adding a Create Disk Image task for a Vista image and modifying the advanced sysprep properties, selecting "install additional drivers" and adding a path will allow drivers to be injected into the image.

However, the problem with this, is that you will be prompted for unsigned drivers after pulling down the image with a Distribute Disk Image task. To get around this, I created a custom InstallDrivers.xml in the Deploy directory:

<?xml version="1.0" encoding="utf-8"?> 
<unattend xmlns="urn:schemas-microsoft-com:unattend"> 
  <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:action="add" wcm:keyValue="0"> 
          <Path>\\%DSSERVER%\eXpress\Drivers/Path> 
        </PathAndCredentials> 
      </DriverPaths> 
    </component> 
  </settings> 
  <cpi:offlineImage cpi:source="wim:c:/vistadist/install_x86.wim#Windows Vista BUSINESS" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> 
</unattend>

Then, I have a task run pre-boot in WinPE automation mode to handle the driver injection "offline" using pkmgr.exe from the WAIK:

REM Add Vista drivers offline

REM Token Replacement for InstallDrivers.xml file
REM ReplaceTokens .\Deploy\InstallDrivers.xml .\Deploy\temp\%COMPNAME%.xml

REM Run pkgmgr.exe
.\WAIK\Tools\%PROCTYPE%\Servicing\pkgmgr.exe /o:"c:\;c:\windows" /n:".\Deploy\temp\%COMPNAME%.xml"

Del .\Deploy\temp\%COMPNAME%.xml /Q