10

我无法让 Windows 8(发布预览版)接受描述为问题解决方案的inf2catmakecat方法

Windows 8 的驱动程序签名要求有何变化?

除非我禁用验证。

此时我没有使用任何证书签署这些,只是试图克服阻止驱动程序安装的错误。

Windows 8 给了我一个非常不起眼的错误:

“尝试将驱动程序添加到商店时遇到问题。”

查看事件日志,没有任何用处;仅来自“Windows 错误报告”的信息条目,指示PnPdriverimporterror

当我将原始文件与与 inf 不匹配的 cab 文件一起使用时,我收到其他人列出的错误:

文件的哈希值不存在于指定的目录文件中。

我有一个.inf需要生成的文件.cat

也许我做错了什么。想法??

INF2CAT 方法

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

MAKECAT 方法

--- 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

这些相同的文件,无论是哪种方法的 cat,都可以在 Windows 7 中正常安装。

4

4 回答 4

5

我认为这个问题与“Windows 驱动程序签名强制”有关。您可以通过禁用此选项来解决此问题。通过以下链接进行操作:

http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html

于 2012-10-22T05:16:21.333 回答
4

I just tested this on Windows 10 and 8 PRO now, to get this right, follow these steps:

1) From your Start menu, locate your DDK's "x64 Checked Build Environment" i.e. the custom DOS build screen. Right-click, run-as administrator...

2) Compile your source with the Build tools etc.

3) Go into your compiled code, and then create your test-certificate (you don't need to purchase one just yet, use your self-signed one created with the line below):

makecert -r -pe -ss PrivateCertStore -n CN=newhex.com(Test) NewhexTest.cer

The above means your certificate is called "newhex.com(Test)" and the generated file is "NewhexTest.cer"

4) Create / Edit your .CDF file which contains items about what your CAT file's contents.

5) Create your CAT file by executing:

makecat -v MyCDF.CDF

This should generate an un-signed CAT file that includes all files specified by your CDF.

6) Sign your CAT file as follows:

Signtool sign /v /s PrivateCertStore /n newhex.com(test) /t http://timestamp.verisign.com/scripts/timestamp.dll MyDriverWhatever.cat

This should result in a CAT file that is signed, but don't just install it, because your Windows can't trust Newhex's cert since it's not in the keystore, to fix this do:

7) Add your certificate to your private Key Store, remember this step MUST be done by an administrators access, otherwise you will get an error about (Keystore not found etc):

certmgr.exe -add NewhexTest.cer -s -r localMachine root

This should add into your keystore, Once done, you can then:

8) Go into your device manager, and add your new driver, you would get a warning but will be accepted and installed without the need to reboot with a forced (Don't check cert type account).

I tried this already and it works on Windows 10 and Windows 8 pro versions.

Kind Regards Heider Sati

于 2015-09-12T12:32:48.200 回答
1

您应该使用 inf2cat,而不是 makecat,因为您有一个 INF 文件。

您应该通过修复您的 INF 文件来解决来自 inf2cat 的这些警告。这是我的 INF 文件,它使用 usbser.sys 并且不会引起任何警告: https ://gist.github.com/3647208

由于 chinzei 在此线程的第一篇文章中的建议,我能够修复我的 INF 文件:http: //www.microchip.com/forums/m488342-print.aspx

如果您仍然遇到问题,请编辑您的问题以包含您的 INF 文件的来源,或者至少包含指向该来源的链接。

于 2012-10-02T18:36:36.033 回答
0

我遇到了同样的问题,并且能够使用此处提供的说明安装带有 TEST 证书的驱动程序:

http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx

于 2013-03-05T21:28:45.823 回答