【发布时间】:2014-08-02 16:34:24
【问题描述】:
我在 Windows 8.1(企业版/专业版)上运行 makecat.exe 时遇到问题。我正在尝试为 Windows 故障排除平台 .diagcab 生成一个 .cat 文件并收到以下错误。
打开:..\DiagPackage.cdf
attribute: OSAttr失败:未找到成员。上次错误:0x00000000
失败 0x00000000 (0)
这在今年 1 月运行 Windows 8.1 时绝对适合我。然而,现在即使使用我之前用来生成 .cat 文件的相同 .cdf 文件(和脚本)也会无缘无故地返回此错误。结果是一个没有文件哈希的 .cat 文件。
.cdf 文件的内容如下所示。另请注意,根据 sdk 文档,文件末尾有一个额外的回车/换行。
[CatalogHeader]
Name=DiagPackage.cat
PublicVersion=0x0000001
EncodingType=0x00010001
CATATTR1=0x10010001:OSAttr:2:6.1
[CatalogFiles]
<hash>DiagPackage.diagpkg=DiagPackage.diagpkg
<hash>DiagPackage.diagpkgATTR1=0x10010001:Filename:DiagPackage.diagpkg
<hash>D_Main.ps1=D_Main.ps1
<hash>D_Main.ps1ATTR1=0x10010001:Filename:D_Main.ps1
<hash>R_ECP.Diagnostic.UserUpdate.ps1=R_ECP.Diagnostic.UserUpdate.ps1
<hash>R_ECP.Diagnostic.UserUpdate.ps1ATTR1=0x10010001:Filename:R_ECP.Diagnostic.UserUpdate.ps1
我已经尝试了最新 SDK for 8.1(最后更新于 2014 年 5 月 13 日)和存档中的版本(最后更新于 2014 年 4 月 2 日)中的 makecat.exe,但都没有运气。
有人遇到过这个问题并解决了吗?
【问题讨论】:
标签: windows winapi windows-8.1