我正在为USB设备开发Windows驱动程序,安装必须覆盖Microsoft的内置类驱动程序,以便设备使用我的驱动程序。
驱动程序是自签名的,但不是WHQL签名的。在Vista或Win7上安装不是问题,其中SetupAPI确认驱动程序已签名并选择它作为内置类驱动程序的首选驱动程序。
但是,这在Windows XP SP3上不起作用。 SetupAPI日志告诉我它找到了驱动程序,但认为它不受信任。 (日志摘录:“驱动程序节点不受信任,排名从0x00000001变为0x0000c001”)
以前在stackoverflow和其他地方对类似问题的回答表明,WHQL签名是在XP上工作的唯一方法。是真的如此,还是有任何已知的解决方法?
是否有人拥有任何资源链接,其中包含有关解决方法的信息或问题的解决方案?
我很感激有关此事的任何帮助。
答案 0 :(得分:0)
是的,情况确实如此。
我可能已经提到了我们在项目中使用的解决方法,但它与您无关,因为您的产品适用于广阔的市场,您不能依赖具有静态设备实例ID的设备。 (为了维护“已知”设备实例ID,我们在USB集线器的顶部使用过滤器驱动程序。我只是提到这一点,因为您可能对我们使用的“神秘”解决方法感到好奇。)
顺便说一句,也许您可以将驱动程序重写为设备筛选器驱动程序。它们不受相同的WHQL限制。
编辑:如果您愿意将证书安装到客户的根证书存储区(这可能会疏远您的客户的风险选择),可能会有适合您的解决方案: Preinstalling WinXP USB drivers to be able to connect device without interaction