Share via


Inf2Cat

Inf2Cat (Inf2Cat.exe) ist ein Befehlszeilentool, das bestimmt, ob die INF-Datei eines Treiberpakets für eine angegebene Liste von Windows-Versionen digital signiert werden kann. Wenn ja, generiert Inf2Cat die nicht signierten Katalogdateien , die für die angegebenen Windows-Versionen gelten.

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

Das Inf2Cat-Tool befindet sich im Ordner Programme\Windows Kits\8.0\bin\x86 oder Programme (x86)\Windows Kits\8.0\bin\x86 des WDK.

Problembehandlung

Wenn beim Erstellen Des Treibers angezeigt wird DriverVer set to a date in the future , ändern Sie die Projekteinstellungen des Treiberpakets, sodass Inf2Cat festlegt /uselocaltime. Verwenden Sie dazu Configuration Properties-Inf2Cat-General-Use>>> Local Time. Jetzt verwenden sowohl Stampinf als auch Inf2Cat die Ortszeit.

Wenn angezeigt wird An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) Signability test failed., probieren Sie eine der folgenden Problemumgehungen aus:

  1. Legen Sie die inf2cat-Einstellungen des Projekts auf fest, /nocat und führen Sie inf2cat manuell aus.
  2. Löschen Sie inf2cat.exe.manifest aus dem \x86 Ordner des aktiven WDK, damit das Tool in Visual Studio ausgeführt wird.

Schalter und Argumente

/driver:PackagePath

Gibt den Pfad zu dem Verzeichnis an, das die INF-Dateien für Treiberpakete enthält. Wenn das angegebene Verzeichnis INF-Dateien für mehrere Treiberpakete enthält, erstellt Inf2Cat Katalogdateien für jedes Treiberpaket.

Hinweis

Sie können den Schalter /drv: anstelle des Schalters /driver: verwenden.

/nocat

Konfiguriert Inf2Cat, um zu überprüfen, ob das Treiberpaket die Signaturanforderungen für die angegebenen Windows-Versionen erfüllt, aber nicht, um eine Katalogdatei zu generieren.

/os:WindowsVersionList

Konfiguriert Inf2Cat, um zu überprüfen, ob die INF-Datei eines Treiberpakets die Signaturanforderungen für die Windows-Versionen erfüllt, die von WindowsVersionList angegeben werden. WindowsVersionList ist eine durch Trennzeichen getrennte Liste, die mindestens einen der folgenden Versionsbezeichner enthält.

Windows-Version Versionsbezeichner
Windows 11, Version 22H2 x64 Edition 10_NI_X64
Windows 11, Version 22H2 Arm64 Edition 10_NI_ARM64
Windows 11, Version 21H2 x64 Edition 10_CO_X64
Windows 11, Version 21H2 Arm64 Edition 10_CO_ARM64
Windows Server 2022 x64 Edition ServerFE_X64
Windows Server 2022 Arm64 Edition ServerFE_ARM64
Windows 10, Version 22H2, 21H2, 21H1, 20H2, 2004 x86 Edition 10_VB_X86
Windows 10, Version 22H2, 21H2, 21H1, 20H2, 2004 x64 Edition 10_VB_X64
Windows 10, Version 22H2, 21H2, 21H1, 20H2, 2004 Arm64 Edition 10_VB_ARM64
Windows 10, Version 1909, 1903 x86 Edition 10_19H1_X86
Windows 10, Version 1909, 1903 x64 Edition 10_19H1_X64
Windows 10, Version 1909, Arm64 Edition 1903 10_19H1_ARM64
Windows 10, Version 1809 x86 Edition 10_RS5_X86
Windows 10, Version 1809 x64 Edition 10_RS5_X64
Windows 10, Version 1809 Arm64 Edition 10_RS5_ARM64
Windows Server 2019 x64 Edition 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 x64 Edition SERVER2016_X64
Windows 10 x86 Edition 10_X86
Windows 10 x64 Edition 10_X64
Windows Server 2016 Server10_X64
Windows Server 2016 am Arm Server10_ARM64

Hinweis

Ab Windows Server 2008 R2 unterstützen Windows Server-Betriebssysteme keine x86-basierten Plattformen mehr.

Inf2Cat ignoriert die Groß-/Kleinschreibung der alphabetischen Zeichen der Versionsbezeichnerzeichenfolgen. Beispielsweise sind 10_NI_X64 und 10_ni_X64 gültige Bezeichner für Windows 11, Version 22H2 x64 Edition.

/uselocaltime

Verwenden Sie die lokale Zeitzone beim Ausführen von Treiberzeitstempelüberprüfungstests. Standardmäßig wird UTC verwendet.

/verbose

Konfiguriert Inf2Cat, um detaillierte Informationen in einem Befehlsfenster anzuzeigen.

/?

Konfiguriert Inf2Cat, um Hilfeinformationen in einem Befehlsfenster anzuzeigen.

/Drm

Veraltetes Befehlszeilenargument.
Fügen Sie das drm-Signaturattribute in der INF-Datei hinzu, um das drm-Signaturattribute hinzuzufügen.

/Pe

Veraltetes Befehlszeilenargument.
Fügen Sie das Attribut petrust signature in der INF-Datei hinzu, um das Attribut "petrust signature" hinzuzufügen.

/pageHashes

Schließen Sie Seitenhashes in Dateien ein. Optional gefolgt von einer Liste von Dateien.

Kommentare

Das Inf2Cat-Tool überprüft die INF-Dateien des Treiberpakets auf Strukturfehler und überprüft, ob ein Treiberpaket digital signiert werden kann. Ein Treiberpaket kann nur signiert werden, wenn alle Dateien, auf die in einer INF-Datei verwiesen wird, vorhanden sind und sich die Quelldateien am richtigen Speicherort befinden. Wenn eine INF-Datei nicht signiert werden kann oder strukturelle Fehler enthält, ist das Treiberpaket möglicherweise nicht ordnungsgemäß installiert oder zeigt während der Installation fälschlicherweise ein Warnungsdialogfeld für die Treibersignatur an.

Inf2Cat generiert nur dann eine Katalogdatei , wenn die Katalogdatei in der INF-Datei des Treiberpakets angegeben ist und die Katalogdatei für eine oder mehrere der angegebenen Windows-Versionen gilt. Wenn der Abschnitt INF-Version einer INF-Datei nur eine CatalogFile=filename.cat-Direktive enthält, gilt diese Katalogdatei für das gesamte Treiberpaket. Zur Unterstützung plattformübergreifender Installationen sollte die INF-Datei CatalogFile enthalten. PlatformExtension=unique-filename.cat-Anweisungen.

Weitere Informationen zum Signieren eines Treiberpakets finden Sie unter Treibersignatur.

Um Inf2Cat verwenden zu können, müssen Sie Mitglied der Gruppe Administratoren auf dem System sein.

Beispiele

Im folgenden Beispiel enthält c:\MyDriver ein Treiberpaket , dessen INF-Datei MyInfFile.inf ist, und der ABSCHNITT INF-Version in der INF-Datei enthält nur die folgende CatalogFile-Direktive :

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

In diesem Beispiel würde der folgende Inf2Cat-Befehl überprüfen, ob das Treiberpaket für Windows 10, Version 21H2, 21H1, 20H2, 2004 x64 Edition und für Windows 11, Version 21H2 x64 Edition signiert werden kann. Wenn das Paket für diese Versionen signiert werden kann, erstellt Inf2Cat die nicht signierte Katalogdatei MyCatalogFile.cat.

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

Im folgenden Beispiel enthält c:\MyDriver ein Treiberpaket , dessen INF-Datei MyInfFile.inf ist, und der ABSCHNITT INF-Version in der INF-Datei enthält nur die folgenden beiden CatalogFile-Direktiven mit Plattformerweiterungen:

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

In diesem Beispiel überprüft der folgende Inf2Cat-Befehl, ob das Treiberpaket für Windows 10, Version 1809 x86 Edition und X64 Edition signiert werden kann. Darüber hinaus wird überprüft, ob es von Windows Windows 10, Version 1909, 1903 x86 Edition und X64 Edition signiert werden kann. Wenn das Paket für alle diese Versionen signiert werden kann, erstellt Inf2Cat die nicht signierten Katalogdateien MyCatalogFileX86.cat und MyCatalogFileX64.cat.

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

Weitere Informationen zur Verwendung von Inf2Cat zum Erstellen einer Katalogdatei finden Sie unter Erstellen einer Katalogdatei für ein PnP-Treiberpaket.