Issue
Drivers listed as unsigned are not getting installed in HII.
Cause
Installing unsigned drivers only works when HII runs in WinPE. In WinPE, HII calls DISM to install the drivers and passes the /forceunsigned switch in the DISM command line if you've selected this option. However, DISM does not allow installing drivers in a live Windows environment so HII running in Windows does not use DISM. Windows API is used instead, and Windows API does not provide a way to install unsigned drivers.
Resolution
Install unsigned drivers during the WinPE pass of HII. It may be necessary to make manual driver assignments to ensure the unsigned drivers are selected during the WinPE pass. This document describes how to do so:
If you are running HII in WinPE but unsigned drivers are still not installing, check the DISM command line:
- Pull the DISM command, including switches, out of the hiiclient log in WinPE (x:\ldprovision\hiiclient.log):
- Ensure /forceunsigned is included in the command line.
- If it is not included, recreate your template and ensure that you check the box to Force unsigned drivers to install:
Additional Information
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 |
DISM relies on the driver .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.
More information on troubleshooting HII can be found in these documents:
HII driver assignments: Device Make or Model is not showing up in HII