Deployment and Imaging Group

 View Only
  • 1.  Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 13, 2016 03:35 PM

    Hi All,

    I am having issues installing the device drivers after Windows 7 is installed. We are not using Deploy Anywhere. The process for OS Install is as follows.

    1) Erase Disk

    2) Install OS (Ghost image - I specify the answer file under the sysprep configuration).

    3) Copy Drivers (The drivers are copied to C:\Drivers).

    4) Boot to Production

    In the answer file, I specify the drivers path to C:\Drivers under the WindowsPE pass. But that did not work. I then specified the Drivers path under SystemAudit as well, but it did not work either.

    WindowsPE

    <settings pass="windowsPE">
                   <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:action="add" wcm:keyValue="1">
                        <Path>C:\Drivers</Path>
                    </PathAndCredentials>
                </DriverPaths>
            </component> 

    </settings>

     

    AuditSystem

    <settings pass="auditSystem">
            <component name="Microsoft-Windows-Deployment" 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">
                <Reseal>
                    <Mode>Audit</Mode>
                </Reseal>
            </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:action="add" wcm:keyValue="1">
                        <Path>C:\Drivers</Path>
                    </PathAndCredentials>
                </DriverPaths>
            </component>
        </settings>

    I have the 1st 3 steps working  and I am presented with a login screen, but since the drivers are not installed, the 4th step "Boot to production" fails. I would appreciate if someone can guide me where to specify the drivers path in answer file so that the drivers get installed correctly. Please advise.

    Thanks !

     

     



  • 2.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 13, 2016 07:28 PM
    From memory it's "specialize". There's log files you can check in c:\windows\panther, c:\windows\system32\sysprep.


  • 3.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 13, 2016 08:22 PM
    I do not get driver path option in specialize pass. I think the driver path option is only available in WindowsPE, AuditSystem & Offline Servicing. Being a Ghost Image, the WindowsPE and Offline Servicing will not work. Specifying the drivers path in Offline servicing for scriptedOS works well, but not with Ghost image.


  • 4.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 14, 2016 06:26 AM
    Two things you can try - either recut the image with "C:\drivers" in the "DevicePath" Value of the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" key in the registry -copy the drivers to c:windows\inf\mydrivers folder. To debug look at - C:\windows\inf\setupapi.dev.log - C:\Windows\Panther\ SetupAct.log - C:\windows\inf\setupapi.app.log files.


  • 5.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 29, 2016 08:28 AM

    Hello,

    I'm again looking to this procedure for installing drivers because our actual method (using DISM for injecting the drivers after applying our WIM image) doesn't seem to work anymore under GSS 3.1 MP2.

    I was thinking in changing WIM to Ghost but if we can't inject drivers :-(

    I have a post asking for that:

    https://www.symantec.com/connect/forums/wim-image-doesnt-boot-gss-31-mp2-it-does-ds-69-sp5-mr1

    Our XML for driver injection file is:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="offlineServicing">
            <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:action="add" wcm:keyValue="1">
                        <Path>C:\Drivers</Path>
                    </PathAndCredentials>
                </DriverPaths>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="wim:d:/images/install.wim#Windows 8.1 Enterprise" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    
    

    While looking information about this I've found my very old post about how to inject drivers, oops:

    https://www.symantec.com/connect/forums/add-drivers-using-pnputilexe-unsigned-ones

    Nice to deal with the same problems again and again ;-)

    I hope we can find a solution to this...

    Thanks.

     



  • 6.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 29, 2016 08:41 AM

    x andykn101:

    Is the modification of the registry or putting the drivers below c:\windows\inf\mydrivers the same as using pnputil tool?

    I.e. Will we have problems if there are some unsigned drivers?

    We used pkgmr/dism for injecting from WinPE (offline) because it injected well the unsigned ones into the Windows Store and when Windows did the mini-setup the drivers were trusted without problems...

    By the way, I don't find any information about the mydrivers folder ...

    Thanks.

     



  • 7.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 29, 2016 02:58 PM
    I'm afraid I've not used that method myself so I don't know what happens about unsigned drivers. The "mydrivers" can be changed to anything of your choice, I think that setup will look for any drivers under the c:\windows\inf folder. I try and have a fully scripted install so amending the drivers injected in the initial WinPE phase isn't difficult.


  • 8.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 29, 2016 07:08 PM
    Installing drivers in Scripted OS Install is not a problem. They are injected during the offline servicing pass and seems to work. I was able to inject drivers on a ghost captured image by copying the drivers to C:\Windows\inf folder after the OS install.


  • 9.  RE: Install device drivers post Windows 7 install - Deployment Solution 7.6

    Posted Jun 30, 2016 04:25 AM

    Yes,

    Using the Offline Servicing XML file I can inject the drivers from WinPE environment after applying the image (in my case is a WIM image) but this has problems with GSS so I decided to change the method.

    I've tested to inject the drivers after the mini-setup phase.

    I have the following commands in my unattend XML sysprep file:

                <FirstLogonCommands>
                    <SynchronousCommand wcm:action="add">
                        <CommandLine>cscript //b c:\windows\system32\slmgr.vbs /skms kms_server:1688</CommandLine>
                        <Order>2</Order>
                        <Description>KMS Input</Description>
                    </SynchronousCommand>
                    <SynchronousCommand wcm:action="add">
                        <CommandLine>cscript //b c:\windows\system32\slmgr.vbs /ato</CommandLine>
                        <Description>MAK Activate</Description>
                        <Order>3</Order>
                    </SynchronousCommand>
                    <SynchronousCommand wcm:action="add">
                        <CommandLine>net user deleteme /delete</CommandLine>
                        <Description>Delete Initial User</Description>
                        <Order>1</Order>
                    </SynchronousCommand>
                    <SynchronousCommand wcm:action="add">
                        <Order>4</Order>
                        <Description>Script Setup Drivers</Description>
                        <CommandLine>C:\ADM\SETUP_DRIVERS.BAT</CommandLine>
                    </SynchronousCommand>
                </FirstLogonCommands>
    

    And this is the content of SETUP_DRIVERS.BAT:

    FOR /R C:\Drivers\certs %%G IN (*.cer) DO (
        certutil -addstore "TrustedPublisher" %%G > NUL
    )
    
    FOR /R C:\Drivers %%G IN (*.inf) DO (
        pnputil -i -a %%G > NUL
    )
    

    I hope it helps to someone with the same problem than me.

    Best regards.