Windows 10 driver injection doesn't install during sysprep


  • Moderator

    @jdd49 Correct, but it was my understanding you were using a different location to house your drivers on Windows 7?



  • Yes they are inf, if not it wouldn’t work for Windows 7 either, as far as I know.


  • Moderator

    @jdd49 That’s impossible, there’s obviously something else going on that’s causing your problems. Drivers in the inf folder are installed on first boot, before OOBE. Are they actually inf drivers? Not cab?



  • @Quazz Unfortunately I have tried that too. Still the same result. Drivers not installed in time for domain join, but upon next reboot they are installed. This all worked fine in Windows 7, I’m thinking there just might not be any workaround for Windows 10.



  • @george1421 said in Windows 10 driver injection doesn't install during sysprep:

    Yes I’ve seen this before.

    You need to add this to the unattend.xml file for Win10

        <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>
    

    Or where ever your install files are kept. The registry change was last officially supported in XP, and with Win7 they did keep that function in the system for legacy reasons. With Win10 that option was removed. You MUST use the unattend.xml method now.

    #wiki worthy, should probably go here somewhere: https://wiki.fogproject.org/wiki/index.php?title=Auto_driver_Install


  • Moderator

    @jdd49 I recommend placing inf drivers in C:\Windows\inf (you can put them in a subfolder) in that case, to test it out (and just in general it’s a good idea), you can even remove it with SetupComplete since they’re installed before OOBE phase (on first boot).

    You can grab driverpacks online (so essentially almost every NIC is supported)



  • What I have discovered is setting the devicepath in the registry does work with Windows 10, but not during the First Boot phase, but after the answer file is applied for the specialize phase and reboots again, then the devicepath is read. The problem with that is that the network driver is not yet installed when joining the domain from the answer file.

    In your case, perhaps a generic nic driver is found that works during the domain join(or maybe you aren’t joining the domain with sysprep). Difficult to say.


  • Moderator

    @jdd49 That is interesting. I wonder why its working in my environment??



  • That was the first thing I tried, unfortunately it doesn’t work. If you look at the diagram I posted, the offlineservicing pass does not get applied without mdt or sccm. It requires WinPE. In terms of using Fog, the only stages that get applied are First Boot and Windows Welcome.


  • Moderator

    Yes I’ve seen this before.

    You need to add this to the unattend.xml file for Win10

        <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>
    

    Or where ever your install files are kept. The registry change was last officially supported in XP, and with Win7 they did keep that function in the system for legacy reasons. With Win10 that option was removed. You MUST use the unattend.xml method now.


 

532
Online

5.4k
Users

12.6k
Topics

118.9k
Posts