我有内核驱动程序。在 32 位系统和 Windows XP 及以下系统上安装时,我没有问题并使用 SetupCopyOEMInf,但需要对 64 位驱动程序进行签名。我已经签名了,我需要在计算机上的某个地方复制一个带有驱动程序的 cat 文件,但这种安装方法不起作用。我应该如何安装它?
编辑:澄清了这个问题。
我有内核驱动程序。在 32 位系统和 Windows XP 及以下系统上安装时,我没有问题并使用 SetupCopyOEMInf,但需要对 64 位驱动程序进行签名。我已经签名了,我需要在计算机上的某个地方复制一个带有驱动程序的 cat 文件,但这种安装方法不起作用。我应该如何安装它?
编辑:澄清了这个问题。
在 Windows Vista 和 Windows 7 中,有一个用于处理驱动程序设置的新实用程序调用PnPUtil。它恰好处理这种工作。只需将所有驱动程序相关文件(*.inf、*.cat、*.sys)复制到目标计算机上的目录并使用PnPUtil -i -a <InfName>.inf
您需要获得一个Authenticode签名,创建一个目录文件,并用它签名。微软决定,对于 64 位系统,它将要求驱动程序未经供应商篡改,方法是检查其签名。
(注意:这和WHQL不一样,WHQL是测试驱动质量的。Authenticode仅仅表明驱动没有被恶意用户或病毒篡改;它并没有说明驱动做了什么,所以这是一个相对容易——尽管价格昂贵——的签名。)
如果您不打算重新分发程序, 另一种解决方案是test-signing 。https://technet.microsoft.com/library/dd919230.aspx