为什么inf2cat在Windows DDK 8.1中失败



我正试图使用Windows DDK 8.1和VS 2013对驱动程序进行签名,但我不断收到同样的错误。然而,当我尝试用DDK 8.0做同样的事情时,它运行得很好。

为了确保这不是我做过的事情,我从MSDN下载了一个示例驱动程序,并试图构建它。下载的示例会导致相同的错误。

以下是使用8.0套件版本的示例输出:

C:Program Files (x86)Windows Kits>8.0binx86Inf2Cat.exe /os:8_x64 "/driver:C:codeNDISC++x64Win8Releasepackage"
..................................................
Signability test complete.
Errors:
None
Warnings:
None
Catalog generation complete.
C:codeNDISC++x64Win8Releasepackagenetvmini60.cat
C:codeNDISC++x64Win8Releasepackagenetvmini620.cat
C:codeNDISC++x64Win8Releasepackagenetvmini630.cat

下面是使用8.1工具包的完全相同的命令(为了可读性添加了包装(:

C:Program Files (x86)Windows Kits>8.1binx86Inf2Cat.exe /os:8_x64 "/driver:C:codeNDISC++x64Win8Releasepackage"
......................
The integrity check for the Windows file protection data file
'C:Program Files (x86)Windows Kits8.1binx86WindowsProtectedFiles.xml'
has failed. This is most likely due to a modification of the file's contents.
To fix the problem, obtain a valid copy of the file from Microsoft, restore
the file to its original state, or reinstall the application.
Signability test failed.

当我使用Visual Studio时,我会收到以下错误:

TRACKER : error TRK0002: Failed to execute command: ""C:Program Files
(x86)Windows Kits8.1binx86inf2cat.exe" /os:7_x64 /driver:C:codeNDISC++
x64Win7Releasepackage". The handle is invalid.

我已经检查了错误中提到的WindowsProtectedFiles.xml文件的内容,该文件在8.0和8.1之间似乎没有更改。我已经搜索了另一个版本,但没有找到任何内容。重新安装DDk也不能解决任何问题。

有人能提供一些关于为什么会发生这种情况以及我如何解决的见解吗?

谢谢。

我终于找到了一个合理的解决方法。从技术上讲,这不是你的问题的答案,但结果确实从visualstudio2013中产生了一个完全可操作的驱动程序部署。

我最终只是将inf2cat的x86 8.0版本符号链接到8.1 x86目录,现在每个人都很高兴,我可以继续我的生活了。

只需以管理员身份运行mklink(请确保备份8.1版本的inf2cat(:

C:Program Files (x86)Windows Kits8.1binx86>mklink Inf2Cat.exe "C:Program Files (x86)Windows   Kits8.0binx64Inf2Cat.exe"
symbolic link created for Inf2Cat.exe <<===>> C:Program Files (x86)Windows Kits8.0binx64Inf2Cat.exe

最新更新