我无法让 Windows 8(发布预览版)接受 inf2cat 或 makecat 方法,该方法被描述为问题的解决方案
除非我禁用验证。
我目前没有使用任何证书签署这些文件,只是试图克服阻止驱动程序安装的错误。
Windows 8 给了我一个非常不起眼的错误:
“尝试将驱动程序添加到商店时遇到问题。”
查看事件日志,没有什么用处;仅来自“Windows 错误报告”的信息条目,指示 PnPdriverimporterror。
当我将原始文件与与 inf 不匹配的 cab 文件一起使用时,我收到其他人都列出的错误:
文件的哈希值不存在于指定的目录文件中。
我有一个
.inf
文件,我需要为其生成 .cat
。
也许我做错了什么。想法??
c:\win_xp_vista32_64>inf2cat /driver:"." /os:XP_X86,XP_x64,Vista_X86,Vista_x64,7_X86,7_X64,8_X86,8_X64
.......................
Signability test complete.
Errors:
None
Warnings:
22.9.10: usbser.sys in [drivercopyfiles.nt] is missing from [SourceDisksFiles] s
ection in \mchpcdc.inf; ok if file source is provided via LayoutFile in [Version
].
22.9.10: %driverfilename%.sys in [drivercopyfiles.ntamd64] is missing from [Sour
ceDisksFiles] section in \mchpcdc.inf; ok if file source is provided via LayoutF
ile in [Version].
Catalog generation complete.
c:\win_xp_vista32_64\mchpcdc.cat
--- start of catalog.cdf file---
[CatalogHeader]
Name=mchpcdc.cat
ResultDir=.\
[CatalogFiles]
<hash>mchpcdc=.\mchpcdc.inf
---end of .cdf file ---
c:\win_xp_vista32_64>makecat catalog.cdf
这些相同的文件,无论使用哪种方法,都可以在 Windows 7 中正常安装。
我认为这个问题与“Windows 驱动程序签名执行”有关。您可以通过禁用此选项来解决此问题。请通过以下链接进行操作:
http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html
我刚刚在 Windows 10 和 8 PRO 上对此进行了测试,要获得正确的结果,请按照以下步骤操作:
1) 从“开始”菜单中,找到 DDK 的“x64 Checked Build Environment”,即自定义 DOS 构建屏幕。右键单击,以管理员身份运行...
2) 使用构建工具等编译源代码。
3)进入您编译的代码,然后创建您的测试证书(您还不需要购买一个,使用通过以下行创建的自签名证书):
makecert -r -pe -ss PrivateCertStore -n CN=newhex.com(测试) NewhexTest.cer
以上表示您的证书名为“newhex.com(Test)”,生成的文件为“NewhexTest.cer”
4) 创建/编辑您的 .CDF 文件,其中包含有关 CAT 文件内容的项目。
5) 通过执行以下命令创建 CAT 文件:
makecat -v MyCDF.CDF
这应该生成一个未签名的 CAT 文件,其中包含 CDF 指定的所有文件。
6) 按如下方式签署您的 CAT 文件:
Signtool 签名 /v /s PrivateCertStore /n newhex.com(test) /t http://timestamp.verisign.com/scripts/timestamp.dll MyDriverWhatever.cat
这应该会生成一个已签名的 CAT 文件,但不要只是安装它,因为您的 Windows 无法信任 Newhex 的证书,因为它不在密钥库中,要修复此问题,请执行以下操作:
7)将您的证书添加到您的私钥存储中,请记住此步骤必须由管理员访问权限完成,否则您将收到有关(找不到密钥存储等)的错误:
certmgr.exe -add NewhexTest.cer -s -r localMachine root
这应该添加到您的密钥库中,完成后,您可以:
8)进入您的设备管理器,并添加新的驱动程序,您会收到警告,但会被接受并安装,无需强制重新启动(不要检查证书类型帐户)。
我已经尝试过了,它适用于 Windows 10 和 Windows 8 专业版。
亲切的问候 海德·萨蒂
你应该使用 inf2cat,而不是 makecat,因为你有一个 INF 文件。
您应该通过修复 INF 文件来解决来自 inf2cat 的这些警告。这是我的 INF 文件,它使用 usbser.sys 并且不会引起任何警告:https://gist.github.com/3647208
感谢 chinzei 在本线程第一篇文章中的建议,我能够修复我的 INF 文件:http://www.microchip.com/forums/m488342-print.aspx
如果您仍然遇到问题,请编辑您的问题以包含 INF 文件的来源,或至少包含源链接。
我遇到了同样的问题,并且能够使用此处提供的说明安装带有测试证书的驱动程序:
http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx