Unable to install filter driver using wix

154 views Asked by At

I am currently trying to install a filter driver using wix. Here is the code that I am using.

<Directory Id="DCVFilterDriver" Name="FilterDriver">
<Component Id="FilterDriver" Guid="xxxxx">
<File Source="$(var.RESOURCE_DIR)\filter-driver\fd.sys" DiskId="1" KeyPath="yes" />
<File Source="$(var.RESOURCE_DIR)\filter-driver\fd.inf" DiskId="1" />
<File Source="$(var.RESOURCE_DIR)\filter-driver\fd.cat" DiskId="1" />
<WixDifx:Driver DeleteFiles="yes"/>
</Component>
</Directory>

But when my application is installed I do not see the driver installed. I dug deep into the logs and I found this warning.

DIFXAPP: WARNING:No device Ids found in INF 'C:\Windows\System32\DriverStore\FileRepository\fd.inf_amd64_95b7c55f67471298\fd.inf' for current platform.
DIFXAPP: INFO:   RETURN: DriverPackageInstallW  (0xE0000301)

In the .inf file there is no hardware id. Since this driver is not something we developed, there is no way to edit it. I am however able to right-click the inf file and install it successfully. My question is how do I install the filter driver using wix - is it possible? If yes, how and what is the mistake I am doing. Thanks for the help in advance. :)

1

There are 1 answers

0
Geoff On

Have you looked at the difx:Driver/@Legacy attribute and maybe others that could help? WiX Difxapp Extension. If you have more of the logs it could be a bit more helpful in diagnosing what the problem might be.

      <Component Id='ScannerDriver' Win64='yes'>
        <File Id='ScannerSYS' Source='scanner.sys' KeyPath='yes' />
        <File Id='ScannerINF' Source='scanner.inf' />
        <File Id='ScannerCAT' Source='scanner.cat' />
        <difx:Driver Legacy='yes' />
      </Component>