Issue
Once HII has started the drivers that are getting installed are listied as Unsigned and are not getting installed.
Cause
What you have discovered is a change in the way we execute the dism command during the HII process. As a result of new OSes and some 64 bit OSes, the /forceunsigned switch has been removed. So when dism runs, it does not force the drivers that are not signed. Pre SP1 the switch was in there, so you would not have noticed the unsigned drivers.
Resolution
If you need to force these drivers to install anyway, then you can pull the whole dism command out of the hiiclient log and add a new run exe action in your template. You can just paste in the dism command and add the /forceunsigned switch. Copy it out of your hiiclient.log, it should look something like;
DISM path and command line:
x:\windows\system32\dism.exe /image:c:\ /add-driver /driver:"c:\Windows\LDDriverStore" /recurse /forceunsigned
*** Make sure that if you have another DISM command in there, that you add this one after it, that you do not replace the other one with this one, and that you set the template to continue if it gets an error.
DISM relies on the .INF to know what files to install. The .INF typically will have references to a .CAT file, a .SYS file, etc. If any of the files referenced in the .INF are missing, DISM will fail, typically with an Error 2.
The failure of DISM to install drivers is logged here:
Setupapi.offline.log | Driver failures during the Component Specialization sub-phase of the Setup specialize phase. |
C:\Windows\Logs\DISM\dism.log | General DISM log |