Inf2Cat

Inf2Cat (Inf2Cat.exe) est un outil en ligne de commande qui détermine si le fichier INF d’un package de pilotes peut être signé numériquement pour une liste spécifiée de versions de Windows. Si c’est le cas, Inf2Cat génère les fichiers de catalogue non signés qui s’appliquent aux versions de Windows spécifiées.

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

L’outil Inf2Cat se trouve dans le dossier Program Files\Windows Kits\8.0\bin\x86 ou Program Files (x86)\Windows Kits\8.0\bin\x86 du WDK.

Dépannage

Si vous voyez DriverVer set to a date in the future lors de la génération de votre pilote, modifiez les paramètres de projet de votre package de pilotes afin qu’Inf2Cat définit /uselocaltime. Pour ce faire, utilisez Configuration Properties-Inf2Cat-General-Use>>> Local Time. À présent, Stampinf et Inf2Cat utilisent l’heure locale.

Si vous voyez An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) Signability test failed., essayez l’une des solutions de contournement suivantes :

  1. Définissez les paramètres /nocat inf2cat du projet sur et exécutez inf2cat manuellement.
  2. Supprimez inf2cat.exe.manifest du \x86 dossier du WDK actif pour provoquer l’exécution de l’outil dans Visual Studio.

Commutateurs et arguments

/driver:PackagePath

Spécifie le chemin d’accès au répertoire qui contient les fichiers INF pour les packages de pilotes. Si le répertoire spécifié contient des fichiers INF pour plusieurs packages de pilotes, Inf2Cat crée des fichiers catalogue pour chaque package de pilotes.

Notes

Vous pouvez utiliser le commutateur /drv: à la place du commutateur /driver: .

/nocat

Configure Inf2Cat pour vérifier que le package de pilotes est conforme aux exigences de signature pour les versions de Windows spécifiées, mais pas pour générer des fichiers catalogue.

/os:WindowsVersionList

Configure Inf2Cat pour vérifier que le fichier INF d’un package de pilotes est conforme aux exigences de signature pour les versions de Windows spécifiées par WindowsVersionList. WindowsVersionList est une liste séparée par des virgules qui comprend un ou plusieurs des identificateurs de version suivants.

Version de Windows Identificateur de version
Windows 11, version 22H2 Édition x64 10_NI_X64
Windows 11, version 22H2 Arm64 Edition 10_NI_ARM64
Windows 11, version 21H2 Édition x64 10_CO_X64
Windows 11, version 21H2 Arm64 Edition 10_CO_ARM64
Windows Server 2022 Édition x64 ServerFE_X64
Windows Server 2022 Arm64 Edition ServerFE_ARM64
Windows 10, version 22H2, 21H2, 21H1, 20H2, 2004 Édition x86 10_VB_X86
Windows 10, version 22H2, 21H2, 21H1, 20H2, 2004 Édition x64 10_VB_X64
Windows 10, version 22H2, 21H2, 21H1, 20H2, 2004 Édition Arm64 10_VB_ARM64
Windows 10, version 1909, édition x86 1903 10_19H1_X86
Windows 10, version 1909, 1903 Édition x64 10_19H1_X64
Windows 10, version 1909, 1903 Arm64 Edition 10_19H1_ARM64
Windows 10, version 1809 édition x86 10_RS5_X86
Windows 10, version 1809 édition x64 10_RS5_X64
Windows 10, version 1809 Arm64 Edition 10_RS5_ARM64
Windows Server 2019 Édition x64 ServerRS5_X64
Windows Server 2019 Arm64 Edition ServerRS5_ARM64
Windows 10, version 1803 x86 Edition 10_RS4_X86
Windows 10, version 1803 x64 Edition 10_RS4_X64
Windows 10, version 1803 Arm64 Edition 10_RS4_ARM64
Windows 10, version 1709 x86 Edition 10_RS3_X86
Windows 10, version 1709 x64 Edition 10_RS3_X64
Windows 10, version 1709 Arm64 Edition 10_RS3_ARM64
Windows 10, version 1703 x86 Edition 10_RS2_X86
Windows 10, version 1703 x64 Edition 10_RS2_X64
Windows 10, version 1607 x86 Edition 10_AU_X86
Windows 10, version 1607 x64 Edition 10_AU_X64
Windows Server 2016 édition x64 SERVER2016_X64
Windows 10 édition x86 10_X86
Windows 10 édition x64 10_X64
Windows Server 2016 Server10_X64
Windows Server 2016 sur Arm Server10_ARM64

Notes

À compter de Windows Server 2008 R2, les systèmes d’exploitation Windows Server ne prendront plus en charge les plateformes x86.

Inf2Cat ignore la casse des caractères alphabétiques des chaînes d’identificateur de version. Par exemple, 10_NI_X64 et 10_ni_X64 sont des identificateurs valides pour Windows 11, version 22H2 x64 Edition.

/uselocaltime

Utilisez le fuseau horaire local lors de l’exécution des tests de vérification de l’horodatage du pilote. Par défaut, UTC est utilisé.

/verbose

Configure Inf2Cat pour afficher des informations détaillées dans une fenêtre de commande.

/?

Configure Inf2Cat pour afficher les informations d’aide dans une fenêtre de commande.

/Drm

Argument de ligne de commande déconseillé.
Ajoutez l’attribut de signature drm dans le fichier .inf pour ajouter l’attribut de signature drm.

/Pe

Argument de ligne de commande déconseillé.
Ajoutez l’attribut de signature petrust dans le fichier .inf pour ajouter l’attribut de signature petrust.

/pageHashes

Inclure des hachages de page avec des fichiers. Éventuellement suivi d’une liste de fichiers.

Commentaires

L’outil Inf2Cat vérifie les erreurs structurelles dans les fichiers INF du package de pilotes et vérifie qu’un package de pilotes peut être signé numériquement. Un package de pilotes ne peut être signé que si tous les fichiers référencés dans un fichier INF sont présents et que les fichiers sources se trouvent à l’emplacement approprié. Si un fichier INF ne peut pas être signé ou s’il contient des erreurs structurelles, le package de pilotes risque de ne pas être installé correctement ou d’afficher incorrectement une boîte de dialogue d’avertissement de signature de pilote pendant l’installation.

Inf2Cat génère un fichier catalogue uniquement si le fichier catalogue est spécifié dans le fichier INF du package de pilotes et que le fichier catalogue s’applique à une ou plusieurs des versions de Windows spécifiées. Si la section Version INF d’un fichier INF fournit uniquement une directive CatalogFile=filename.cat , ce fichier catalogue s’applique à l’ensemble du package de pilotes. Pour prendre en charge les installations multiplateformes, le fichier INF doit inclure CatalogFile. PlatformExtension=unique-filename.cat directives.

Pour plus d’informations sur la signature d’un package de pilotes, consultez Signature de pilotes.

Pour utiliser Inf2Cat, vous devez être membre du groupe Administrateurs sur le système.

Exemples

Dans l’exemple suivant, c:\MyDriver contient un package de pilotes dont le fichier INF est MyInfFile.inf et la section Version INF du fichier INF inclut uniquement la directive CatalogFile suivante :

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

Pour cet exemple, la commande Inf2Cat suivante vérifie si le package de pilotes peut être signé pour Windows 10, version 21H2, 21H1, 20H2, 2004 édition x64 et pour Windows 11, version 21H2 x64. Si le package peut être signé pour ces versions, Inf2Cat crée le fichier catalogue non signé MyCatalogFile.cat.

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

Dans l’exemple suivant, c:\MyDriver contient un package de pilotes dont le fichier INF est MyInfFile.inf et la section Version INF du fichier INF inclut uniquement les deux directives CatalogFile suivantes avec des extensions de plateforme :

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

Pour cet exemple, la commande Inf2Cat suivante vérifie si le package de pilotes peut être signé pour Windows 10, version 1809 édition x86 et x64. En outre, il vérifie s’il peut être signé par Windows Windows 10, version 1909, 1903 édition x86 et édition X64. Si le package peut être signé pour toutes ces versions, Inf2Cat crée les fichiers catalogue non signés MyCatalogFileX86.cat et MyCatalogFileX64.cat.

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

Pour plus d’informations sur l’utilisation d’Inf2Cat pour créer un fichier catalogue, consultez Création d’un fichier catalogue pour un package de pilotes PnP.