首页 > 解决方案 > 无法使用 wix 安装过滤器驱动程序

问题描述

我目前正在尝试使用 wix 安装过滤器驱动程序。这是我正在使用的代码。

<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>

但是当我的应用程序安装时,我没有看到安装的驱动程序。我深入挖掘了日志,发现了这个警告。

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)

在 .inf 文件中没有硬件 ID。由于此驱动程序不是我们开发的,因此无法对其进行编辑。但是,我可以右键单击 inf 文件并成功安装它。我的问题是如何使用 wix 安装过滤器驱动程序 - 可能吗?如果是,我在做什么以及我在做什么错误。我在这里先向您的帮助表示感谢。:)

标签: windowswixdriverwix3.5filter-driver

解决方案


您是否查看过该difx:Driver/@Legacy属性以及可能有帮助的其他属性?WiX Difxapp 扩展。如果您有更多日志,则可能对诊断问题可能更有帮助。

      <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>

推荐阅读