我需要直接通过 USB 与简单的自定义设备通信。我有完整的通信协议规范。不幸的是,设备供应商没有为该设备提供 WinUSB 驱动程序。
根据 https://msdn.microsoft.com/en-us/library/ff540283.aspx#inf 我应该能够使用 inf 模板在 Windows 10 上自动安装 WinUSB 驱动程序。
但是安装失败并显示:
第三方INF不包含数字签名信息。
据我了解,它正在寻找签名的 .cat 文件。但在这种情况下,我没有任何要签名的文件,也没有 .cat 文件。我只想为设备安装 Windows 自己的 WinUSB 驱动程序,显然 Windows 驱动程序应该由 Microsoft 签名。
如何继续安装 .inf 文件?
如果您只关心支持 Windows 8.1 及更高版本,并且您能够更改设备的固件,则可以考虑使用 Microsoft OS 2.0 描述符。这将允许 Windows 计算机将该设备识别为 WinUSB 设备并自动加载 WinUSB 驱动程序。
另一种选择是使用 Zadig 或相关库 libwdi 为您的设备安装驱动程序。我只推荐将其用于小型、临时或组织内部安装,因为它是一种黑客(它将自己的证书安装到您的受信任的根证书颁发机构列表中)。
如果您想使用未签名的 INF 文件,您还可以考虑在计算机上禁用驱动程序签名强制。
如果这些选项都不适合您,那么您需要考虑从证书颁发机构购买代码签名证书并签署您的驱动程序。 Windows 代码签名是一个不断发展的领域,但我的文章实用 Windows 代码和驱动程序签名尝试记录您需要了解的内容。