I'm trying to install kernel driver using difxapp. Driver is fully certified, .inf, .cat and .sys files are all in respective component.
<Component Id="DriverComponents" Guid="{someGuid}" Win64="yes">
<difxapp:Driver AddRemovePrograms="yes" DeleteFiles="no" Legacy="no" PlugAndPlayPrompt="no" ForceInstall="no"/>
<File Id="MyDriver.inf" Name="MyDriver.inf" Vital="no" />
<File Id="MyDriver.cat" Name="MyDriver.cat" Vital="no" />
<File Id="MyDriver.sys" Name="MyDriver.sys" Vital="no" KeyPath="yes" />
</Component>
I tried different combinations of Legacy and ForceInstall flags and still driver would not install. In setupapi.dev.log I see that driver is stored at driver store, but DefaultInstall section of the INF is never executed (setupapi.dev.log does not contain Plug and Play Service section). In my case DefaultInstall section registers kernel service and makes changes to registry. All driver files are OK, since "RMB .INF file -> install" installs driver correctly.
I do understand that installation can be done via custom actions, but that causes pain and a lot of special handling for Upgrade/Rollback scenarios.
Is it possible to enforce driver to actually install using native Wix tools?
CodePudding user response:
Don't use difxapp, from Wix support: "DifxApp has been deprecated for quite a while. WiX doesn't own DifxApp so can't fix any of its bugs." https://docs.microsoft.com/en-us/windows-hardware/drivers/install/difx-guidelines