MakeCat
The MakeCat tool is a CryptoAPI tool that creates a catalog file. The tool is installed in the \Bin folder of the Microsoft Windows Software Development Kit (SDK) installation path.
MakeCat is available as part of the Windows SDK, which you can download from http://go.microsoft.com/fwlink/?linkid=84091.
The MakeCat tool uses the following command syntax:
MakeCat [-n|-r|-v] FileName
Parameters
| Parameter | Description |
|---|---|
| -n | Do not stop on a recoverable error. |
| -r | Forces MakeCat to end if it encounters recoverable errors. Specifically, it will end when processing the entries in the catalog files section of a .cdf file. |
| -v | Verbose. Displays all progress and error messages. |
| FileName | Name of the .cdf file to be parsed. For required structure and contents, see Remarks. |
Remarks
The .cdf file must be built with the following specifications:
[CatalogHeader]
Name=Name
ResultDir=ResultDir
PublicVersion=Version
EncodingType=Encodingtype
CATATTR1={type}:{oid}:{value} (optional)
CATATTR2={type}:{oid}:{value} (optional)
[CatalogFiles]
{reference tag}=file path and name
{reference tag}ALTSIPID={guid} (optional)
{reference tag}ATTR1={type}:{oid}:{value} (optional)
{reference tag}ATTR2={type}:{oid}:{value} (optional)
Note The last entry in the .cdf file must always have an explicit newline character at the end of the line.
The [CatalogHeader] section defines information about the entire catalog file.
| Option | Description |
|---|---|
| Name | Name of the catalog file, including its extension. |
| ResultDir | Directory where the created .cat file will be placed. If not indicated, the default current directory is used. If the directory does not exist, it is created. |
| Version | Version of the catalog. If left blank, the default value, one, is used. |
| EncodingType | Type of message encoding used. If left blank, the default EncodingType is PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001. |
The [CatalogFiles] section defines each member of the catalog file with files of various types and attributes of various types in separate groups.
| Option | Description |
|---|---|
| reference tag |
Text reference to the file. This can include any ASCII text characters except the equal sign (=). The system must be able to reproduce this tag after installation. Use <HASH> as a prefix of the file name. This results in the tag being the file's hash in ASCII string form. |
| file path and name | The file name, including the extension to be parsed and the relative path to the file. Any type of file that can be signed with SignTool can be added to a catalog. For example, file names with the following extensions, among others, can be added to a catalog: .exe, .cab, .cat, .ocx, .dll, and .stl. |
| ALTSIPID | SIP GUID that is to be used for hashing instead of the standard SIP based on file type. This entry is optional. If this entry is omitted, the member will be hashed using the default SIP. If no default installed SIP is found, the Flat SIP will be used. |
| guid | Text representation of a GUID. |
| ATTRx | Optional. Attribute or statement about the file or content. There can be any number of attributes, including none. |
| type | Defines what type of attribute is being added in the format 0x00000000 (text). This option can be a bitwise-OR combination of zero or more of the following values:
|
| oid | The text representation of the attribute's reference key. It is an OID in the form of a text string in dotted quad notation (for example, a.b.c.d) or a text Name. |
| value | The text representation of the value of the attribute. The type of text representation used depends on the value of the type option. The EOL characters determine the length. |
The generated catalog file is unsigned. If it is to be signed prior to transmittal, it is signed by using SignTool.
Send comments about this topic to Microsoft
Build date: 3/6/2012