2017-03-16 153 views
0

我需要通过USB直接与简单的自定义设备进行通信。我有完整的通信协议规范。不幸的是,该设备供应商没有为该设备提供WinUSB驱动程序。如何在Windows 10上通过自定义的inf文件安装WinUSB驱动程序?

根据 https://msdn.microsoft.com/en-us/library/ff540283.aspx#inf 我应该能够使用INF模板在Windows 10自动安装了WinUSB驱动程序。

但安装失败:

第三方INF不包含数字签名信息。

据我所知,它正在寻找一个签名.cat文件。但在这种情况下,我没有任何文件签署和.cat文件。我只想为设备安装Windows自己的WinUSB驱动程序,显然Windows驱动程序应该由Microsoft签署。

如何继续安装.inf文件?

回答

1

如果您只关心支持Windows 8.1及更高版本,并且您有能力更改设备的固件,则可以考虑使用Micrsoft OS 2.0 Descriptors。这将允许Windows计算机将设备识别为WinUSB设备并自动加载WinUSB驱动程序。

另一种选择是使用Zadig或相关库libwdi为您的设备安装驱动程序。我只会建议将它用于小型,临时或组织内部的安装,因为它是一种破解(它将自己的证书安装到“受信任的根证书颁发机构”列表中)。

如果要使用未签名的INF文件,还可以查看计算机上的禁用驱动程序签名实施。

如果这些选项都不适合您,那么您需要考虑从证书颁发机构购买代码签名证书并签名您的驱动程序。 Windows的代码签名是一个不断发展的领域,但我的文章Practical Windows Code and Driver Signing试图记录你需要知道的内容。

+0

不幸的是,改变固件在我的情况下是不可能的。我将研究libwdi解决方案。你的文章是真正有用的签名“技术诀窍”的集合。从它我知道签名是必需的,即使我实际上不添加自己的驱动程序实现,但只是从我的inf文件引用Microsoft的WinUSB驱动程序,因为Windows将每个.inf文件视为驱动程序包。 – JustAMartin

相关问题