Creación de archivos INF para varias plataformas y sistemas operativos

Mediante el uso de extensiones de plataforma definidas por el sistema en secciones y directivas de archivos INF, puede crear un único archivo INF para instalaciones multiplataforma. Las extensiones permiten crear nombres de sección decorados , que especifican qué secciones y directivas son relevantes para cada plataforma de destino y sistema operativo. Por ejemplo, puedes crear un archivo INF que instale un dispositivo solo en sistemas basados en x64, solo en sistemas basados en Itanium, solo en sistemas basados en x86 o en todos los sistemas compatibles con Windows 2000 y versiones posteriores de Windows.

En la tabla siguiente se resumen las extensiones de plataforma compatibles con el sistema que se pueden agregar a los nombres de las secciones que admiten extensiones.

Extensión de plataforma Uso

.ntamd64

La sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en x64 compatibles con Windows XP y versiones posteriores.

.ntia64

La sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en Itanium compatibles con Windows XP y versiones posteriores.

.ntx86

La sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en x86 compatibles con Windows XP y versiones posteriores.

.ntarm

La sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en Arm compatibles con Windows 8 y versiones posteriores.

.ntarm64

La sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en Arm64 compatibles con Windows 10 versión 1709 y posteriores.

.Nt

En versiones de Windows anteriores a Windows Server 2003 SP1, la sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en todos los sistemas compatibles con el sistema operativo.

A partir de Windows Server 2003 SP1, la sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en x86 compatibles con el sistema operativo.

(sin extensión de plataforma)

En versiones de Windows anteriores a Windows Server 2003 SP1, la sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en todos los sistemas compatibles con el sistema operativo.

A partir de Windows Server 2003 SP1, la sección contiene instrucciones para instalar un dispositivo o un conjunto de modelos compatibles con dispositivos en sistemas basados en x86 compatibles con el sistema operativo.

En Windows Server 2003 Service Pack 1 (SP1) y versiones posteriores, los archivos INF deben decorar entradas en la sección Modelos inf con extensiones de plataforma .ntia64, .ntarm, .ntarm64 o .ntamd64 para especificar versiones de sistema operativo de destino que no sean x86. Estas extensiones de plataforma no son necesarias en los archivos INF para las versiones del sistema operativo de destino basadas en x86, pero se recomienda encarecidamente. La misma decoración de extensión de plataforma o extensión de plataforma .nt es opcional en todas las demás secciones que admiten extensiones de plataforma.

Nota

Le recomendamos encarecidamente que siempre decora las entradas de la sección Modelos INF con extensiones de plataforma para sistemas operativos de destino de Windows XP y versiones posteriores de Windows. En el caso de las plataformas de hardware basadas en x86, debe evitar el uso de la extensión de plataforma .nt y usar .ntx86 en su lugar.

En las secciones que admiten extensiones de plataforma opcionales, Windows selecciona la sección que se va a procesar, como se indica a continuación:

  1. Windows comprueba si hay una sección section-name.nt<architecture> y, si existe, la procesa. Windows busca la extensión dearquitectura> .nt< en el archivo INF que se está procesando y en los archivos INF incluidos (es decir, los archivos INF que se incluyen con entradas include).

  2. Si no existe una sección de arquitectura> section-name.nt<, Windows comprueba si hay una sección section-name.nt en el archivo INF o en los archivos INF incluidos. Si existe, Windows procesa la sección section-name.nt.

  3. Si no existe una sección section-name.nt, Windows procesa una sección de nombre de sección que no incluye una extensión de plataforma.

En las secciones en las que las extensiones de plataforma de arquitectura> .nt y .nt< son opcionales, el enfoque más sencillo para crear y mantener un archivo INF del sistema multiplataforma no es usar extensiones de plataforma en esos nombres de sección e incluir la extensión de arquitectura> .nt< solo en las secciones nombres de la sección Modelos INF. Sin embargo, esto supone que el archivo INF no necesita copiar versiones específicas de la arquitectura de los archivos y que la configuración de instalación es la misma en todas las arquitecturas. Para ver escenarios más avanzados para infs multiplataforma, consulte Combinación de extensiones de plataforma con otras extensiones de nombre de sección.

Para crear un archivo INF multiplataforma sencillo, haga lo siguiente:

  1. Cree un archivo INF válido que contenga las entradas genéricas necesarias en todos los archivos INF, como se describe en Directrices generales para archivos INF.

  2. Incluya una sección fabricante inf que incluya un identificador de fabricante que especifique el nombre de la sección Modelos INF para el dispositivo y que especifique la extensión de la plataforma de arquitectura> .nt<. Por ejemplo, la siguiente sección Fabricante especifica un nombre de sección modelos INF de "AbcModelSection" para un dispositivo Abc y la extensión de la plataforma de arquitectura> .nt<.

    [Manufacturer]
    ; The manufacturer-identifier for the Abc device.
    %ManufacturerName%=AbcModelSection,nt<architecture>
    
  3. Incluya una sección de arquitectura> Models.nt< cuyo nombre coincida con el nombre de sección Modelos especificado por el identificador de fabricante en la sección Fabricante. Por ejemplo, la siguiente sección de arquitectura> AbcModelSection.nt< para un dispositivo Abc incluye una descripción del dispositivo que especifica un nombre de sección de instalación de "AbcInstallSection".

    [AbcModelSection.nt<architecture>]
    %AbcDeviceName%=AbcInstallSection,Abc-hw-id
    
  4. Incluya una sección DDInstall cuyo nombre coincida con el nombre de install-section-name especificado por la sección Modelos . Por ejemplo, la descripción del dispositivo en una sección AbcModelSection especifica la siguiente sección AbcInstallSection para un dispositivo Abc.

    [AbcInstallSection]
    ; Install section entries go here.
    ...
    
  5. Incluya otras secciones específicas del dispositivo necesarias para instalar el dispositivo, pero no incluyan una extensión de plataforma de arquitectura> .nt< en los nombres de estas secciones. Para obtener más información sobre las directivas y secciones de archivos INF, vea Resumen de secciones INF y Resumen de directivas INF.

Consulte también