I have a driver for windows 2008 that I try to load in a winpe environment.
The driver is kmdf based. When I try to load it, I get errors related to the coinstaller.
Here is the relevant part from the setupapi.dev.log:
ump: Creating Install Process: DrvInst.exe 14:27:11.442
! ndv: Installing NULL driver!
dvi: Set selected driver complete.
pol: Device installation is subject to policy
dvi: {DIF_ALLOW_INSTALL} 14:27:11.442
dvi: No class installer for ‘Ethernet Controller’
dvi: Using exported function ‘WdfCoInstaller’ in module ‘X:\Windows\system32\wdfcoinstaller01007.dll’.
dvi: CoInstaller 1 == wdfcoinstaller01007.dll,WdfCoInstaller
dvi: CoInstaller 1: Enter 14:27:11.457
dvi: CoInstaller 1: Exit
dvi: Default installer: Enter 14:27:11.457
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 14:27:11.457
dvi: {DIF_INSTALLDEVICE} 14:27:11.457
dvi: No class installer for ‘Ethernet Controller’
dvi: CoInstaller 1: Enter 14:27:11.457
!!! dvi: CoInstaller 1: failed(0xe0000203)!
!!! dvi: Error 0xe0000203: There is no driver selected for the device information set or element.
dvi: {DIF_INSTALLDEVICE - exit(0xe0000203)} 14:27:11.457
dvi: {DIF_DESTROYPRIVATEDATA} 14:27:11.457
dvi: CoInstaller 1: Enter 14:27:11.457
dvi: CoInstaller 1: Exit
dvi: Default installer: Enter 14:27:11.457
dvi: Default installer: Exit
dvi: {DIF_DESTROYPRIVATEDATA - exit(0xe000020e)} 14:27:11.457
If I remove all parts of the inf that are kmdf related I can install my driver but it doesn’t load.
Even if I create an empty driver it doesn’t load. (An empty driver == driver with only DriverEntry returning 0).
If I remove the line
KMDF_VERSION_MAJOR=1
from the sources file, the driver loads.
Is there a solution to this problem?
Thanks
Tzachi