跨平台 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 平台扩展。

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

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

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

    [Manufacturer]
    ; The manufacturer-identifier for the Abc device.
    %ManufacturerName%=AbcModelSection,ntia64,ntamd64
    
  3. 请确保包含一个名称不包含平台扩展的 Models 部分。 从 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节,其名称与 install-section-nameModels.ntia64 节指定的相同。 例如,AbcModelSection.ntia64 节 指定 了 以下 AbcInstallSection.ntia64 节。 Windows 将处理本部分,以在基于 Itanium 的系统上安装运行 Windows XP 或更高版本的 Windows 上的 Abc 设备。

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

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

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

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

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