You would integrate the same drivers into both boot & install images (DISM method), so devices are immediately recognized.
Some users don't like this because you need to rebuild images whenever the drivers change, and prefer to have more control by simply replacing the driver files in the ISO folder or network share (DriverPaths).
The minimum drivers that need to be installed are basic storage and networking (if you need updates while installing). Less critical drivers like graphics, and input devices, can be loaded later because they don't block installation.
The DISM method copies over driver files to the image's DriverStore repository. Any extra drivers which aren't needed won't be loaded in memory, but unused files will take up extra disk space.
SetupComplete is executed after OOBE, so your reg file must be integrated first into the image in order to work. Adding the path by itself doesn't force a driver search, it must be run by a "
pnpunattend auditsystem" command. By that point, it's too late in the running order.
This is why you use the DISM approach, or add <DriverPaths> in the unattended file so WinPE does the work immediately.
Code:
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<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:keyValue="1" wcm:action="add">
<Path>D:\Drivers</Path>
</PathAndCredentials>
</DriverPaths>
<DriverPaths>
<PathAndCredentials wcm:keyValue="2" wcm:action="add">
<Path>E:\Drivers</Path>
</PathAndCredentials>
</DriverPaths>
<DriverPaths>
<PathAndCredentials wcm:keyValue="3" wcm:action="add">
<Path>F:\Drivers</Path>
</PathAndCredentials>
</DriverPaths>
</component>
</settings>
</unattend>