Inf2Cat

O Inf2Cat (Inf2Cat.exe) é uma ferramenta de linha de comando que determina se o arquivo INF de um pacote de driver pode ser assinado digitalmente para uma lista especificada de versões do Windows. Nesse caso, o Inf2Cat gera os arquivos de catálogo não assinados que se aplicam às versões especificadas do Windows.

    Inf2Cat /driver:
    PackagePath
     /os:
    WindowsVersionList [/nocat] [/verbose] [/?] [other switches]

A ferramenta Inf2Cat está localizada na pasta Arquivos de Programas\Windows Kits\8.0\bin\x86 ou Arquivos de Programas (x86)\Windows Kits\8.0\bin\x86 do WDK.

Solução de problemas

Se você vir DriverVer set to a date in the future ao criar o driver, altere as configurações do projeto do pacote de driver para que o Inf2Cat defina /uselocaltime. Para fazer isso, use Propriedades de Configuração-Inf2Cat-General-Use>>> Local Time. Agora , Tanto Stampinf quanto Inf2Cat usam a hora local.

Se você vir An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) Signability test failed., tente uma destas soluções alternativas:

  1. Defina as configurações /nocat inf2cat do projeto como e execute o inf2cat manualmente.
  2. Exclua inf2cat.exe.manifest da \x86 pasta do WDK ativo para fazer com que a ferramenta seja executada no Visual Studio.

Opções e argumentos

/driver:PackagePath

Especifica o caminho para o diretório que contém os arquivos INF para pacotes de driver. Se o diretório especificado contiver arquivos INF para vários pacotes de driver, o Inf2Cat criará arquivos de catálogo para cada pacote de driver.

Observação

Você pode usar a opção /drv: no lugar da opção /driver: .

/nocat

Configura o Inf2Cat para verificar se o pacote de driver está em conformidade com os requisitos de assinatura para as versões especificadas do Windows, mas não para gerar arquivos de catálogo.

/os:WindowsVersionList

Configura o Inf2Cat para verificar se o arquivo INF de um pacote de driver está em conformidade com os requisitos de assinatura para as versões do Windows especificadas pelo WindowsVersionList. WindowsVersionList é uma lista separada por vírgulas que inclui um ou mais dos identificadores de versão a seguir.

Versão do Windows Identificador de versão
Windows 11, versão 22H2 x64 Edition 10_NI_X64
Windows 11, versão 22H2 Arm64 Edition 10_NI_ARM64
Windows 11, versão 21H2 x64 Edition 10_CO_X64
Windows 11, versão 21H2 Arm64 Edition 10_CO_ARM64
Windows Server 2022 x64 Edition ServerFE_X64
Windows Server 2022 Arm64 Edition ServerFE_ARM64
Windows 10, versão 22H2, 21H2, 21H1, 20H2, 2004 x86 Edition 10_VB_X86
Windows 10, versão 22H2, 21H2, 21H1, 20H2, 2004 x64 Edition 10_VB_X64
Windows 10, versão 22H2, 21H2, 21H1, 20H2, 2004 Arm64 Edition 10_VB_ARM64
Windows 10, versão 1909, 1903 x86 Edition 10_19H1_X86
Windows 10, versão 1909, 1903 x64 Edition 10_19H1_X64
Windows 10, versão 1909, 1903 Arm64 Edition 10_19H1_ARM64
edição Windows 10, versão 1809 x86 10_RS5_X86
edição Windows 10, versão 1809 x64 10_RS5_X64
Windows 10, versão 1809 Arm64 Edition 10_RS5_ARM64
Windows Server 2019 x64 Edition ServerRS5_X64
Windows Server 2019 Arm64 Edition ServerRS5_ARM64
Windows 10, versão 1803 x86 Edition 10_RS4_X86
Windows 10, versão 1803 x64 Edition 10_RS4_X64
Windows 10, versão 1803 Arm64 Edition 10_RS4_ARM64
Windows 10, versão 1709 x86 Edition 10_RS3_X86
Windows 10, versão 1709 x64 Edition 10_RS3_X64
Windows 10, versão 1709 Arm64 Edition 10_RS3_ARM64
Windows 10, versão 1703 x86 Edition 10_RS2_X86
Windows 10, versão 1703 x64 Edition 10_RS2_X64
Windows 10, versão 1607 x86 Edition 10_AU_X86
Windows 10, versão 1607 x64 Edition 10_AU_X64
Windows Server 2016 x64 Edition SERVER2016_X64
Windows 10 x86 Edition 10_X86
Windows 10 x64 Edition 10_X64
Windows Server 2016 Server10_X64
Windows Server 2016 no Arm Server10_ARM64

Observação

A partir do Windows Server 2008 R2, os sistemas operacionais windows server não darão mais suporte a plataformas baseadas em x86.

O Inf2Cat ignora o caso dos caracteres alfabéticos das cadeias de caracteres do identificador de versão. Por exemplo, 10_NI_X64 e 10_ni_X64 são identificadores válidos para Windows 11, versão 22H2 x64 Edition.

/uselocaltime

Use o fuso horário local durante a execução de testes de verificação de carimbo de data/hora do driver. Por padrão, o UTC é usado.

/verbose

Configura o Inf2Cat para exibir informações detalhadas em uma janela de comando.

/?

Configura o Inf2Cat para exibir informações de ajuda em uma janela de comando.

/Drm

Argumento de linha de comando preterido.
Adicione o atributo de assinatura drm no arquivo .inf para adicionar o atributo de assinatura drm.

/Pe

Argumento de linha de comando preterido.
Adicione o atributo de assinatura petrust no arquivo .inf para adicionar o atributo de assinatura petrust.

/pageHashes

Inclua hashes de página com arquivos. Opcionalmente seguido por uma lista de arquivos.

Comentários

A ferramenta Inf2Cat verifica se há erros estruturais nos arquivos INF do pacote de driver e verifica se um pacote de driver pode ser assinado digitalmente. Um pacote de driver só poderá ser assinado se todos os arquivos referenciados em um arquivo INF estiverem presentes e os arquivos de origem estiverem no local correto. Se um arquivo INF não puder ser assinado ou se contiver erros estruturais, o pacote de driver poderá não ser instalado corretamente ou exibir incorretamente uma caixa de diálogo de aviso de assinatura de driver durante a instalação.

O Inf2Cat gerará um arquivo de catálogo somente se o arquivo de catálogo for especificado no arquivo INF do pacote de driver e o arquivo de catálogo se aplicar a uma ou mais das versões especificadas do Windows. Se a seção Versão do INF de um arquivo INF fornecer apenas uma diretiva CatalogFile=filename.cat , esse arquivo de catálogo se aplicará a todo o pacote de driver. Para dar suporte a instalações multiplataforma, o arquivo INF deve incluir CatalogFile. PlatformExtension=diretivas unique-filename.cat.

Para obter mais informações sobre como assinar um pacote de driver, consulte Assinatura de driver.

Para usar o Inf2Cat, você deve ser membro do grupo Administradores no sistema.

Exemplos

No exemplo a seguir, c:\MyDriver contém um pacote de driver cujo arquivo INF é MyInfFile.inf e a seção Versão INF no arquivo INF inclui apenas a seguinte diretiva CatalogFile :

[Version]
. . .
CatalogFile=MyCatalogFile.cat
. . .

Para este exemplo, o comando Inf2Cat a seguir verificaria se o pacote de driver pode ser assinado para Windows 10, versão 21H2, 21H1, 20H2, 2004 x64 Edition e para Windows 11, versão 21H2 x64 Edition. Se o pacote puder ser assinado para essas versões, o Inf2Cat criará o arquivo de catálogo não assinado MyCatalogFile.cat.

Inf2Cat /driver:C:\MyDriver /os:10_VB_X64,10_CO_X64 

No exemplo a seguir, c:\MyDriver contém um pacote de driver cujo arquivo INF é MyInfFile.inf e a seção Versão INF no arquivo INF inclui apenas as duas diretivas CatalogFile a seguir com extensões de plataforma:

[Version]
. . .
CatalogFile.ntx86=MyCatalogFileX86.cat
CatalogFile.ntamd64=MyCatalogFileX64.cat
. . .

Para este exemplo, o comando Inf2Cat a seguir verificaria se o pacote de driver pode ser assinado para Windows 10, versão 1809 x86 Edition e X64 Edition. Além disso, ele verifica se ele pode ser assinado pelo Windows Windows 10, versão 1909, 1903 x86 Edition e X64 Edition. Se o pacote puder ser assinado para todas essas versões, o Inf2Cat criará os arquivos de catálogo não assinados MyCatalogFileX86.cat e MyCatalogFileX64.cat.

Inf2Cat /driver:C:\MyDriver /os:10_RS5_X86,10_RS5_X64,10_19H1_X86,10_19H1_X64 

Para obter mais informações sobre como usar o Inf2Cat para criar um arquivo de catálogo, consulte Criando um arquivo de catálogo para um pacote de driver PnP.