I am having issues running makecat.exe on Windows 8.1 (Enterprise/Pro). I am trying to generate a .cat file for a Windows Troubleshooting Platform .diagcab and getting the error below.
opened: ..\DiagPackage.cdf
attribute: OSAttr
Failed: No members found. Last Error: 0x00000000
Failed 0x00000000 (0)
This was definitely working for me in January this year running Windows 8.1. However now even using the same .cdf file (and script) that I previously used to generate the .cat file returns this error for no apparent reason. The result is a .cat file with no file hashes.
The contents of the .cdf file is listed below. Also noting that there is an extra carriage return/new line at the end of the file as per the sdk documentation.
[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
I have tried the makecat.exe from most recent SDK for 8.1 (last updated May 13, 2014) and the version in the archive (last updated April 2, 2014) no luck for either.
Has any one had this issue and solved it?
I haven't been able to get past the issue with the Windows 8.1 SDK.
However I have worked around it by:
The version of makecat.exe is 6.1.7600.16385 which works fine with Windows 8.1 Update 1 (x64).
I had a similar problem with makecat 8.1. I was able to solve it by changing the encoding of the cdf file. Apparently makecat had problems reading utf-8 and prefers Windows-1252 encoding (the default in visual studio)
User contributions licensed under CC BY-SA 3.0