为非 PnP 驱动程序创建目录文件
可以使用 MakeCat 工具为非 PnP 驱动程序创建 目录文件 。
注意
为具有 INF 文件的驱动程序包创建目录文件时,请使用 Inf2Cat 工具创建目录文件。 Inf2Cat 自动包含驱动程序包中引用的包中引用的所有文件。 有关如何使用 Inf2Cat 工具的详细信息,请参阅 使用 Inf2Cat 创建目录文件。
若要创建目录文件,必须先手动创建目录定义文件 (。.cdf) ,用于描述目录标头属性和文件条目。 创建此文件后,可以运行 MakeCat 工具创建目录文件
创建目录文件
若要为非 PnP 驱动程序创建目录文件,请执行以下步骤:
使用文本编辑器创建 一个 .cdf 文件,其中列出了要创建的 目录文件 的名称、其属性以及要列在目录文件中的文件的名称。
使用 MakeCat 命令行工具创建目录文件。 有关 MakeCat 工具的详细信息,请参阅 使用 MakeCat 网站。
在将安装驱动程序的计算机上安装目录文件。
MakeCat 工具概述
MakeCat 工具在处理 .cdf 文件时执行以下操作:
验证 .cdf文件定义的目录文件的属性,并将属性添加到目录文件。
验证 .cdf 文件中列出的每个文件的属性,并将属性添加到目录文件。
生成每个列出的文件的加密哈希或 指纹。
将每个文件的指纹存储在目录文件中。
使用以下 MakeCat 命令创建目录文件。
MakeCat -v CatalogDefinitionFileName.cdf
其中:
-v 选项将 MakeCat 配置为打印执行和警告消息。
CatalogDefinitionFileName.cdf 是目录定义文件的名称。
示例
以下示例显示了名为 Good.cdf 的典型目录定义文件的内容。 要编录的包包含两个文件 :File1 和 File2。 生成的目录文件名为 Good.cat。
[CatalogHeader]
Name=Good.cat
PublicVersion=0x0000001
EncodingType=0x00010001
CATATTR1=0x10010001:OSAttr:2:6.0
[CatalogFiles]
<hash>File1=File1
<hash>File2=File2
以下示例中使用的选项如下所述。 有关这些选项的详细信息,请参阅 MakeCat 网站。
Name=Good.cat
指定目录文件的名称 (Good.cat) 。
PublicVersion=0x0000001
指定目录文件的版本。
EncodingType=0x00010001
指定用于生成指纹的消息编码类型。 值0x00010001指定消息编码类型PKCS_7_ASN_ENCODING |X509_ASN_ENCODING。
CATATTR1=0x10010001:OSAttr:2:6.0
指定目录文件的属性。 若要指定其他属性,必须使用单独的 CATATTR 选项,每个选项分配了一个唯一的数字数字作为后缀。 例如,使用 CATATT1 指定一个目录文件属性,使用 CATATT2 指定另一个目录文件属性。
在此示例中,使用 CATATTR1 选项指定的属性具有以下值:
0x10000000 - 经过身份验证的属性 (签名,包含在指纹) 中。
0x00010000 - 属性以纯文本表示。
0x00000001 - 属性是名称-值对。
OSAttr:2:6.0
OSAttr 属性指定其签名要求与 驱动程序包兼容的目标 Windows 版本。 特性的值指定以下内容:
值 2 指定目录文件与基于 NT 的 Windows 操作系统版本兼容。
值 6.0 指定目录文件与 Windows Vista 兼容。 注意 如果 驱动程序包 与多个 Windows 版本兼容,则必须使用单独的 CATATTR 选项为每个 Windows 版本指定 OSAttr 属性。
<hash>File1=File1
指定通过目录文件引用的文件 File1 的引用标记。 值 <哈希>File1 导致标记是文件的加密哈希或 指纹。
<hash>File1=File2
指定文件 File2 的引用标记,该文件通过目录文件引用。 值 <哈希>File2 导致标记是文件的指纹。
以下示例演示如何从相应的目录定义文件 Good.生成目录文件(Good.cat)。cdf。 Makecat 将 Good.cat 保存在 File1 和 File2 所在的同一文件夹中。
MakeCat -v Good.cdf