跨平台 INF 文件

对于跨平台 INF 文件,最简单的策略是为每个平台类型创建单独的 INF 文件,因为此方法是最容易创建和维护的。 有关如何创建特定于平台的 INF 文件的详细信息,请参阅 为多个平台和操作系统创建 INF 文件

如果设备没有特定于操作系统的安装要求,可以为设备创建单个跨操作系统和跨平台 INF 文件。 例如,如果支持设备的文件或注册表设置因给定平台的操作系统版本而异,则通常不能为所有操作系统版本支持的该平台类型创建单个 INF 文件。

若要为 Windows 2000 及更高版本的 Windows 创建单个跨操作系统和跨平台 INF 文件,最简单的方法是:

  • 对在基于 Itanium 的系统上安装组件所需的部分名称使用 .ntia64 平台扩展,对在基于 x64 的系统上安装组件所需的部分名称使用 .ntamd64 平台扩展。

  • 由于 .nt.ntx86 平台扩展在支持平台扩展的所有部分上都是可选的,因此不要对在基于 x86 的系统上安装组件的节的名称使用 .nt 或 .ntx86 平台扩展。

若要为 Microsoft Windows 2000 及更高版本的 Windows 创建单个跨操作系统和跨平台 INF 文件,请使用以下过程:

  • 对在基于 Itanium 的系统上安装组件所需的部分名称使用 .ntia64 平台扩展,对在基于 x64 的系统上安装组件所需的部分名称使用 .ntamd64 平台扩展。

若要为没有特定于操作系统的要求、支持所有平台类型且支持 Windows 2000 及更高版本的 Windows 的设备创建单个跨操作系统和跨平台 INF 文件,请执行以下操作:

  1. 创建一个有效的 INF 文件,其中包含所有 INF 文件中所需的泛型条目,如 INF 文件的一般准则中所述。

  2. 包括一个 INF 制造商 部分,其中包含一个 制造商标识符 ,该标识符指定设备的 模型 部分名称和设备支持的每个平台的平台扩展条目。 例如,以下“制造商”部分指定“AbcModelSection”的 Models 节名称以及平台扩展 .ntia64.ntamd64。 (不指定 .ntx86 平台扩展。)

    [Manufacturer]
    ; The manufacturer-identifier for the Abc device.
    %ManufacturerName%=AbcModelSection,ntia64,ntamd64
    
  3. 包含名称不包含平台扩展的 “模型” 部分。 从 Windows 2000 开始,操作系统会针对基于 x86 的系统处理此部分。 例如,以下 AbcModelSection 节为 Abc 设备指定“AbcInstallSection”的 install-section-name

    [AbcModelSection]
    %AbcDeviceName%=AbcInstallSection,Abc-hw-id
    
  4. 包括 Models.ntia64 节。 Windows Server 2003 SP1 及更高版本需要基于 Itanium 的系统具有Models.ntia64 部分。 如果 Models.ntia64 部分存在,Windows Server 2003 和 Windows XP 也对基于 Itanium 的系统使用此部分。 例如,以下 AbcModelSection.ntia64 节为 Abc 设备指定“AbcInstallSection.ntia64”的 install-section-name

    [AbcModelSection.ntia64]
    %AbcDeviceName%=AbcInstallSection.ntia64,Abc-hw-id
    
  5. 包括 Models.ntamd64 节。 Windows Server 2003 SP1 及更高版本需要基于 x64 的系统具有Models.ntamd64 部分。 如果 Models.ntamd64 部分存在,则 Windows Server 2003 和 Windows XP 也对基于 x64 的系统使用此部分。 例如,下面的 AbcModelSection.ntamd64 节为 Abc 设备指定“AbcInstallSection.ntamd64”的 install-section-name

    AbcModelSectionName.ntamd64
    %AbcDeviceName%=AbcInstallSection.ntamd64,Abc-hw-id
    
  6. 包括一个 DDInstall 节,其名称与不包括平台扩展的 Models 部分指定的 install-section-name 相同。 例如,AbcModelSection 节指定以下 AbcInstallSection 节。 Windows 处理本部分以在运行 Windows 2000 或更高版本 Windows 的基于 x86 的系统上安装 Abc 设备。

    [AbcInstallSection]
    ; Install section entries go here.
    ...
    
  7. 包括一个 DDInstall.ntia64 节,其名称与 Models.ntia64 节指定的 install-section-name 相同。 例如,AbcModelSection.ntia64 节指定以下 AbcInstallSection.ntia64 节。 Windows 处理本部分以在运行 Windows XP 或更高版本 Windows 的基于 Itanium 的系统上安装 Abc 设备。

    [AbcInstallSection.ntia64]
    ; Install section entries go here.
    ...
    
  8. 包括一个 DDInstall.ntamd64 节,其名称与 Models.ntamd64 节指定的 install-section-name 相同。 例如,AbcModelSection.ntamd64 节指定以下 AbcInstallSection.ntamd64 节。 Windows 处理本部分以在运行 Windows XP 或更高版本 Windows 的基于 x64 的系统上安装 Abc 设备。

    [AbcInstallSection.ntamd64]
    ; Install section entries go here.
    ...
    
  9. 包括基于 x86 的安装所需的其他特定于设备的部分。 不要在这些部分的名称中包含 .ntx86 平台扩展。 默认情况下,Windows 会处理这些部分,以在运行 Windows 2000 或更高版本 Windows 的基于 x86 的系统上安装设备。

  10. 包括运行 Windows XP 或更高版本 Windows 的基于 Itanium 的系统所需的其他特定于设备的部分。 在这些节名称上包括 .ntia64 扩展名。

  11. 包括运行 Windows XP 或更高版本 Windows 的基于 x64 的系统所需的其他特定于设备的部分。 在这些节名称上包括 .ntamd64 扩展。

有关 INF 文件部分和指令的详细信息,请参阅 INF 节摘要INF 指令摘要