Compartir vía


Inf2Cat

Inf2Cat (Inf2Cat.exe) es una herramienta de línea de comandos que determina si el archivo INF de un paquete de controladores puede estar firmado digitalmente para una lista especificada de versiones de Windows. Si es así, Inf2Cat genera los archivos de catálogo sin firmar que se aplican a las versiones de Windows especificadas.

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

La herramienta Inf2Cat se encuentra en la carpeta Archivos de programa\Windows Kits\8.0\bin\x86 o Archivos de programa (x86)\Windows Kits\8.0\bin\x86 del WDK.

Solución de problemas

Si ve DriverVer set to a date in the future al compilar el controlador, cambie la configuración del proyecto del paquete de controladores para que Inf2Cat establezca /uselocaltime. Para ello, use Propiedades de configuración-Inf2Cat-General-Usar>>> hora local. Ahora Stampinf e Inf2Cat usan la hora local.

Si ve An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) Signability test failed., pruebe una de estas soluciones alternativas:

  1. Establezca la configuración /nocat de inf2cat del proyecto en y ejecute inf2cat manualmente.
  2. Elimine inf2cat.exe.manifest de la \x86 carpeta del WDK activo para hacer que la herramienta se ejecute en Visual Studio.

Modificadores y argumentos

/driver:PackagePath

Especifica la ruta de acceso al directorio que contiene los archivos INF para los paquetes de controladores. Si el directorio especificado contiene archivos INF para varios paquetes de controladores, Inf2Cat creará archivos de catálogo para cada paquete de controladores.

Nota

Puede usar el modificador /drv: en lugar del modificador /driver: .

/nocat

Configura Inf2Cat para comprobar que el paquete de controladores cumple los requisitos de firma de las versiones de Windows especificadas, pero no para generar archivos de catálogo.

/os:WindowsVersionList

Configura Inf2Cat para comprobar que el archivo INF de un paquete de controladores cumple los requisitos de firma de las versiones de Windows especificadas por WindowsVersionList. WindowsVersionList es una lista separada por comas que incluye uno o varios de los siguientes identificadores de versión.

Versión de Windows Identificador de la versión
Windows 11, versión 22H2 x64 Edition 10_NI_X64
Windows 11, versión 22H2 Arm64 Edition 10_NI_ARM64
Windows 11, versión 21H2 x64 Edition 10_CO_X64
Windows 11, versión 21H2 Arm64 Edition 10_CO_ARM64
Windows Server 2022 x64 Edition ServerFE_X64
Windows Server 2022 Arm64 Edition ServerFE_ARM64
Windows 10, versión 22H2, 21H2, 21H1, 20H2, 2004 x86 Edition 10_VB_X86
Windows 10, versión 22H2, 21H2, 21H1, 20H2, 2004 x64 Edition 10_VB_X64
Windows 10, versión 22H2, 21H2, 21H1, 20H2, 2004 Arm64 Edition 10_VB_ARM64
Windows 10, versión 1909, 1903 x86 Edition 10_19H1_X86
Windows 10, versión 1909, 1903 x64 Edition 10_19H1_X64
Windows 10, versión 1909, 1903 Arm64 Edition 10_19H1_ARM64
Windows 10, versión 1809 edición x86 10_RS5_X86
Windows 10, versión 1809 x64 Edition 10_RS5_X64
Windows 10, versión 1809 Arm64 Edition 10_RS5_ARM64
Windows Server 2019 x64 Edition ServerRS5_X64
Windows Server 2019 Arm64 Edition ServerRS5_ARM64
Windows 10, versión 1803 x86 Edition 10_RS4_X86
Windows 10, versión 1803 x64 Edition 10_RS4_X64
Windows 10, versión 1803 Arm64 Edition 10_RS4_ARM64
Windows 10, versión 1709 x86 Edition 10_RS3_X86
Windows 10, versión 1709 x64 Edition 10_RS3_X64
Windows 10, versión 1709 Arm64 Edition 10_RS3_ARM64
Windows 10, versión 1703 x86 Edition 10_RS2_X86
Windows 10, versión 1703 x64 Edition 10_RS2_X64
Windows 10, versión 1607 x86 Edition 10_AU_X86
Windows 10, versión 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 en Arm Server10_ARM64

Nota

A partir de Windows Server 2008 R2, los sistemas operativos Windows Server ya no admitirán plataformas basadas en x86.

Inf2Cat omite el caso de los caracteres alfabéticos de las cadenas de identificador de versión. Por ejemplo, 10_NI_X64 y 10_ni_X64 son identificadores válidos para Windows 11, versión 22H2 x64 Edition.

/uselocaltime

Use la zona horaria local mientras se ejecutan las pruebas de comprobación de marca de tiempo del controlador. De forma predeterminada, se usa utc.

/verbose

Configura Inf2Cat para mostrar información detallada en una ventana de comandos.

/?

Configura Inf2Cat para mostrar información de ayuda en una ventana de comandos.

/Drm

Argumento de línea de comandos en desuso.
Agregue el atributo de firma drm en el archivo .inf para agregar el atributo de firma drm.

/Pe

Argumento de línea de comandos en desuso.
Agregue el atributo petrust signature en el archivo .inf para agregar el atributo de firma petrust.

/pageHashes

Incluir hashes de página con archivos. Opcionalmente, seguido de una lista de archivos.

Comentarios

La herramienta Inf2Cat comprueba los archivos INF del paquete de controladores en busca de errores estructurales y comprueba que un paquete de controladores se puede firmar digitalmente. Un paquete de controladores solo se puede firmar si todos los archivos a los que se hace referencia en un archivo INF están presentes y los archivos de origen están en la ubicación correcta. Si no se puede firmar un archivo INF o si contiene errores estructurales, es posible que el paquete de controladores no esté instalado correctamente o que muestre incorrectamente un cuadro de diálogo de advertencia de firma de controlador durante la instalación.

Inf2Cat genera un archivo de catálogo solo si el archivo de catálogo se especifica en el archivo INF del paquete de controladores y el archivo de catálogo se aplica a una o varias de las versiones de Windows especificadas. Si la sección Versión inf de un archivo INF solo proporciona una directiva CatalogFile=filename.cat , ese archivo de catálogo se aplica a todo el paquete de controladores. Para admitir instalaciones multiplataforma, el archivo INF debe incluir CatalogFile. PlatformExtension=unique-filename.cat directivas.

Para obtener más información sobre cómo firmar un paquete de controladores, vea Firma de controladores.

Para usar Inf2Cat, debe ser miembro del grupo Administradores del sistema.

Ejemplos

En el ejemplo siguiente, c:\MyDriver contiene un paquete de controladores cuyo archivo INF es MyInfFile.inf y la sección Versión inf del archivo INF incluye solo la siguiente directiva CatalogFile :

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

En este ejemplo, el siguiente comando Inf2Cat comprobaría si el paquete de controladores se puede firmar para Windows 10, versión 21H2, 21H1, 20H2, 2004 x64 Edition y para Windows 11, versión 21H2 x64 Edition. Si el paquete se puede firmar para estas versiones, Inf2Cat creará el archivo de catálogo sin firmar MyCatalogFile.cat.

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

En el ejemplo siguiente, c:\MyDriver contiene un paquete de controladores cuyo archivo INF es MyInfFile.inf y la sección Versión inf del archivo INF incluye solo las dos directivas CatalogFile siguientes con extensiones de plataforma:

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

En este ejemplo, el siguiente comando Inf2Cat comprobaría si el paquete de controladores se puede firmar para Windows 10, versión 1809 x86 Edition y X64 Edition. Además, comprueba si windows Windows 10, versión 1909, 1903 x86 Edition y X64 Edition. Si el paquete se puede firmar para todas estas versiones, Inf2Cat creará los archivos de catálogo sin firmar MyCatalogFileX86.cat y MyCatalogFileX64.cat.

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

Para obtener más información sobre cómo usar Inf2Cat para crear un archivo de catálogo, vea Creating a Catalog File for a PnP Driver Package.