【问题标题】:Why does inf2cat fail with Windows DDK 8.1?为什么 inf2cat 在 Windows DDK 8.1 中失败?
【发布时间】:2013-11-14 01:02:59
【问题描述】:

我正在尝试使用 Windows DDK 8.1 和 VS 2013 对驱动程序进行签名,但我不断收到相同的错误。但是,当我尝试对 DDK 8.0 执行相同操作时,它工作得很好。

为了确保这不是我所做的,我下载了sample driver from MSDN 并尝试构建它。下载的示例导致相同的错误。

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

C:\Program Files (x86)\Windows Kits>8.0\bin\x86\Inf2Cat.exe /os:8_x64 "/driver:C:\code\NDIS\C++\x64\Win8Release\package"

..................................................
Signability test complete.

Errors:
None

Warnings:
None

Catalog generation complete.
C:\code\NDIS\C++\x64\Win8Release\package\netvmini60.cat
C:\code\NDIS\C++\x64\Win8Release\package\netvmini620.cat
C:\code\NDIS\C++\x64\Win8Release\package\netvmini630.cat

这是使用 8.1 套件的完全相同的命令(为便于阅读添加了包装):

C:\Program Files (x86)\Windows Kits>8.1\bin\x86\Inf2Cat.exe /os:8_x64 "/driver:C:\code\NDIS\C++\x64\Win8Release\package"

......................
The integrity check for the Windows file protection data file
'C:\Program Files (x86)\Windows Kits\8.1\bin\x86\WindowsProtectedFiles.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 Kits\8.1\bin\x86\inf2cat.exe" /os:7_x64 /driver:C:\code\NDIS\C++
x64\Win7Release\package\". The handle is invalid.

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

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

谢谢。

【问题讨论】:

  • 你的问题解决了吗?
  • 不,恐怕我没有。我在任何地方都找不到任何细节。我现在已经放弃了,尽管我希望有人能指出我正确的方向。
  • 是的,如果您听到任何消息,请报告。这个问题快把我逼疯了。我没有发现任何有用的东西......只是旧的 Microsoft 支持线程说“错误已修复”。
  • 很抱歉提出一个旧线程,但有人解决过这个问题吗?我正在尝试进行驱动程序开发,如果没有解决这个问题,我将无法创建驱动程序,这是唯一一篇关于 inf2cat.exe 的帖子
  • 恐怕还是否定的。不过,我已经有一段时间没有研究它了。

标签: driver wdk


【解决方案1】:

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

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

只需以管理员身份运行mklink(一定要备份8.1版本的inf2cat):

C:\Program Files (x86)\Windows Kits\8.1\bin\x86>mklink Inf2Cat.exe "C:\Program Files (x86)\Windows   Kits\8.0\bin\x64\Inf2Cat.exe"

symbolic link created for Inf2Cat.exe <<===>> C:\Program Files (x86)\Windows Kits\8.0\bin\x64\Inf2Cat.exe

【讨论】:

    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    相关资源
    最近更新 更多