Criando arquivos INF para várias plataformas e sistemas operacionais

Usando extensões de plataforma definidas pelo sistema para seções e diretivas de arquivo INF, você pode criar um único arquivo INF para instalações multiplataforma. As extensões permitem que você crie nomes de seção decorados , que especificam quais seções e diretivas são relevantes para cada plataforma de destino e sistema operacional. Por exemplo, você pode criar um arquivo INF que instala um dispositivo somente em sistemas baseados em x64, somente em sistemas baseados em Itanium, somente em sistemas baseados em x86 ou em todos os sistemas compatíveis com o Windows 2000 e versões posteriores do Windows.

A tabela a seguir resume as extensões de plataforma com suporte do sistema que podem ser adicionadas aos nomes das seções que dão suporte a extensões.

Extensão de plataforma Uso

.ntamd64

A seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em sistemas baseados em x64 compatíveis com o Windows XP e posteriores.

.ntia64

A seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em sistemas baseados em Itanium compatíveis com o Windows XP e posteriores.

.ntx86

A seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 compatíveis com o Windows XP e posteriores.

.ntarm

A seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com o dispositivo em sistemas baseados em Arm compatíveis com Windows 8 e posteriores.

.ntarm64

A seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com o dispositivo em sistemas baseados em Arm64 compatíveis com Windows 10 versão 1709 e posterior.

.Nt

Em versões do Windows anteriores ao Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em todos os sistemas compatíveis com o sistema operacional.

A partir do Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 compatíveis com o sistema operacional.

(sem extensão de plataforma)

Em versões do Windows anteriores ao Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em todos os sistemas compatíveis com o sistema operacional.

A partir do Windows Server 2003 SP1, a seção contém instruções para instalar um dispositivo ou um conjunto de modelos compatíveis com dispositivos em sistemas baseados em x86 compatíveis com o sistema operacional.

No Windows Server 2003 Service Pack 1 (SP1) e posterior, os arquivos INF devem decorar entradas na seção Modelos INF com extensões da plataforma .ntia64, .ntarm, .ntarm64 ou .ntamd64 para especificar versões do sistema operacional de destino não x86. Essas extensões de plataforma não são necessárias em arquivos INF para versões do sistema operacional de destino baseadas em x86, mas são altamente recomendadas. A mesma decoração de extensão de plataforma ou extensão de plataforma .nt é opcional em todas as outras seções que dão suporte a extensões de plataforma.

Observação

É altamente recomendável que você sempre decore entradas na seção Modelos INF com extensões de plataforma para sistemas operacionais de destino do Windows XP e versões posteriores do Windows. Para plataformas de hardware baseadas em x86, você deve evitar o uso da extensão de plataforma .nt e usar .ntx86 .

Para seções que dão suporte a extensões de plataforma opcionais, o Windows seleciona qual seção processar, da seguinte maneira:

  1. O Windows verifica se há uma seção de arquitetura> section-name.nt< e, se houver, processa-a. O Windows verifica a extensão de arquitetura> .nt< no arquivo INF que está sendo processado e em todos os arquivos INF incluídos (ou seja, todos os arquivos INF incluídos com entradas Include).

  2. Se uma seção de arquitetura> section-name.nt não existir, o< Windows verificará se há uma seção section-name.nt no arquivo INF ou em arquivos INF incluídos. Se existir, o Windows processará a seção section-name.nt.

  3. Se uma seção section-name.nt não existir, o Windows processará uma seção de nome de seção que não inclui uma extensão de plataforma.

Para seções em que as extensões de plataforma de arquitetura> .nt e .nt< são opcionais, a abordagem mais simples para criar e manter um arquivo INF de sistema multiplataforma é não usar extensões de plataforma nesses nomes de seção e incluir a extensão de arquitetura> .nt< somente nos nomes das seções de modelos INF. No entanto, isso pressupõe que o arquivo INF não precisa copiar versões específicas da arquitetura de arquivos e que as configurações de instalação são as mesmas entre arquiteturas. Para cenários mais avançados para INFs multiplataforma, consulte Combinando extensões de plataforma com outras extensões de nome de seção.

Para criar um arquivo INF multiplataforma simples, faça o seguinte:

  1. Crie um arquivo INF válido que contenha as entradas genéricas necessárias em todos os arquivos INF, conforme descrito em Diretrizes Gerais para Arquivos INF.

  2. Inclua uma seção Fabricante do INF que inclui um identificador de fabricante que especifica o nome da seção Modelos INF para o dispositivo e que especifica a extensão da plataforma de arquitetura> .nt<. Por exemplo, a seção Fabricante a seguir especifica um nome de seção modelos INF de "AbcModelSection" para um dispositivo Abc e a extensão da plataforma de arquitetura> .nt<.

    [Manufacturer]
    ; The manufacturer-identifier for the Abc device.
    %ManufacturerName%=AbcModelSection,nt<architecture>
    
  3. Inclua uma seção de arquitetura> Models.nt< cujo nome corresponde ao nome da seção Modelos especificado pelo identificador do fabricante na seção Fabricante. Por exemplo, a seguinte seção de arquitetura> AbcModelSection.nt< para um dispositivo Abc inclui uma descrição do dispositivo que especifica um nome de seção de instalação de "AbcInstallSection".

    [AbcModelSection.nt<architecture>]
    %AbcDeviceName%=AbcInstallSection,Abc-hw-id
    
  4. Inclua uma seção DDInstall cujo nome corresponde ao nome da seção de instalação especificado pela seção Modelos . Por exemplo, a descrição do dispositivo em uma seção AbcModelSection especifica a seguinte seção AbcInstallSection para um dispositivo Abc.

    [AbcInstallSection]
    ; Install section entries go here.
    ...
    
  5. Inclua outras seções específicas do dispositivo que são necessárias para instalar o dispositivo, mas não incluem uma extensão de plataforma de arquitetura> .nt< em nomes dessas seções. Para obter mais informações sobre seções e diretivas de arquivo INF, consulte Resumo de seções inf e resumo de diretivas INF.

Confira também