我无法让Windows 8(发布预览版)接受 inf2cat 或 makecat 方法,并将其描述为问题解决方案
What changed in the driver signature requirements for Windows 8?
除非我禁用验证。
此时我没有使用任何证书签署这些证书,只是试图解决阻止驱动程序安装的错误。
Windows 8给了我一个非常不明显的错误:
“尝试将驱动程序添加到商店时遇到问题。”
查看事件日志,没有任何用处;只有来自“Windows错误报告”的信息性条目,表示 PnPdriverimporterror 。
当我使用与inf不匹配的cab文件的原始文件时,我得到其他人列出的错误:
指定目录文件中不存在该文件的哈希值。
我有一个.inf
文件需要生成.cat
for。
也许我做错了什么。想法?
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中正常安装。
答案 0 :(得分:6)
我认为这个问题与“Windows驱动程序签名执行”有关。您可以通过禁用此选项来解决此问题。点击以下链接:
http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html
答案 1 :(得分:4)
我现在在Windows 10和8 PRO上测试了这个,为了做到这一点,请按照以下步骤操作:
1)从“开始”菜单中,找到DDK的“x64 Checked Build Environment”,即自定义DOS构建屏幕。右键单击,以管理员身份运行...
2)使用构建工具等编译源代码。
3)进入已编译的代码,然后创建测试证书(您现在不需要购买一个,使用下面一行创建的自签名代码):
makecert -r -pe -ss PrivateCertStore -n CN = newhex.com(Test)NewhexTest.cer
以上表示您的证书名为“newhex.com(Test)”,生成的文件为“NewhexTest.cer”
4)创建/编辑.CDF文件,其中包含有关CAT文件内容的项目。
5)执行以下命令创建您的CAT文件:
makecat -v MyCDF.CDF
这应生成一个未签名的CAT文件,其中包含CDF指定的所有文件。
6)按如下方式签署您的CAT文件:
Signtool sign / 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专业版。
亲切的问候 Heider Sati
答案 2 :(得分:0)
你应该使用inf2cat,而不是makecat,因为你有一个INF文件。
您应该通过修复INF文件来解决来自inf2cat的警告。这是我的INF文件,它使用usbser.sys并且不会引起任何警告:https://gist.github.com/3647208
我能够修复我的INF文件,感谢chinzei在这篇主题的第一篇文章中的建议:http://www.microchip.com/forums/m488342-print.aspx
如果您仍有问题,请编辑您的问题以包含INF文件的来源,或至少包含指向来源的链接。
答案 3 :(得分:0)
我遇到了同样的问题,并且可以使用此处提供的说明安装带有TEST证书的驱动程序:
http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx