为非 PnP 驱动程序创建目录文件

可以使用 MakeCat 工具为非 PnP 驱动程序创建 目录文件

注意

为具有 INF 文件的驱动程序包创建目录文件时,请使用 Inf2Cat 工具创建目录文件。 Inf2Cat 自动包含驱动程序包中引用的包中引用的所有文件。 有关如何使用 Inf2Cat 工具的详细信息,请参阅 使用 Inf2Cat 创建目录文件

若要创建目录文件,必须先手动创建目录定义文件 (。.cdf) ,用于描述目录标头属性和文件条目。 创建此文件后,可以运行 MakeCat 工具创建目录文件

创建目录文件

若要为非 PnP 驱动程序创建目录文件,请执行以下步骤:

  1. 使用文本编辑器创建 一个 .cdf 文件,其中列出了要创建的 目录文件 的名称、其属性以及要列在目录文件中的文件的名称。

  2. 使用 MakeCat 命令行工具创建目录文件。 有关 MakeCat 工具的详细信息,请参阅 使用 MakeCat 网站。

  3. 在将安装驱动程序的计算机上安装目录文件。

MakeCat 工具概述

MakeCat 工具在处理 .cdf 文件时执行以下操作:

  • 验证 .cdf文件定义的目录文件的属性,并将属性添加到目录文件。

  • 验证 .cdf 文件中列出的每个文件的属性,并将属性添加到目录文件。

  • 生成每个列出的文件的加密哈希或 指纹

  • 将每个文件的指纹存储在目录文件中。

使用以下 MakeCat 命令创建目录文件。

MakeCat -v CatalogDefinitionFileName.cdf

其中:

  • -v 选项将 MakeCat 配置为打印执行和警告消息。

  • CatalogDefinitionFileName.cdf 是目录定义文件的名称。

示例

以下示例显示了名为 Good.cdf 的典型目录定义文件的内容。 要编录的包包含两个文件 :File1File2。 生成的目录文件名为 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 选项指定的属性具有以下值:

0x10010001
将 属性指定为以下属性:

  • 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 保存在 File1File2 所在的同一文件夹中。

MakeCat -v Good.cdf