1

我正在为 USB 设备开发 Windows 驱动程序,安装必须覆盖 Microsoft 的内置类驱动程序,以便设备使用我的驱动程序。

驱动程序是自签名的,但不是 WHQL 签名的。在 Vista 或 Win7 上安装不是问题,其中 SetupAPI 确认驱动程序已签名并选择它作为内置类驱动程序的首选驱动程序。

但是,这在 Windows XP SP3 上不起作用。SetupAPI 日志告诉我它找到了驱动程序,但认为它不受信任。(日志摘录:“驱动节点不受信任,等级从 0x00000001 更改为 0x0000c001”)

以前在 stackoverflow 和其他地方对类似问题的回答表明,WHQL 签名是在 XP 上工作的唯一方法。真的是这样吗,还是有任何已知的解决方法?

是否有人有任何资源链接,其中包含有关变通方法或问题解决方案的信息?

我感谢任何关于此事的帮助。

4

1 回答 1

0

是的,情况确实如此。

我可能已经提到了我们在我的项目中使用的解决方法,但这与您无关,因为您的产品面向广阔的市场,您不能依赖具有静态设备实例 ID 的设备。(为了维护一个“已知的”设备实例 ID,我们在 USB 集线器上使用了一个过滤器驱动程序。我之所以提到这一点,是因为您可能对我们使用的“神秘”解决方法感到好奇。)

顺便说一句,也许您可​​以将驱动程序重写为设备过滤器驱动程序。它们不受相同的 WHQL 限制。

编辑:如果您愿意将您的证书安装到您客户的根证书存储中(一个可能会疏远您的客户的冒险选择),那么您可能会有一个解决方案: 预安装 WinXP USB 驱动程序以便能够在没有交互的情况下连接设备

于 2011-07-10T12:27:40.783 回答