Inf2Cat

Inf2Cat (Inf2Cat.exe) — это программа командной строки, которая определяет, может ли INF-файл пакета драйвера быть подписан цифровой подписью для указанного списка версий Windows. Если да, Inf2Cat создает неподписанные файлы каталога , которые применяются к указанным версиям Windows.

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

Средство Inf2Cat находится в папке Program Files\Windows Kits\8.0\bin\x86 или Program Files (x86)\Windows Kits\8.0\bin\x86 в WDK.

Устранение неполадок

Если вы видите DriverVer set to a date in the future при сборке драйвера, измените параметры проекта пакета драйверов, чтобы Inf2Cat установил ./uselocaltime Для этого используйте свойства конфигурации-Inf2Cat-General-Use>>> Local Time. Теперь и Stampinf , и Inf2Cat используют местное время.

Если вы видите An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) Signability test failed., попробуйте одно из следующих способов решения:

  1. Задайте для параметров inf2cat проекта значение /nocat и запустите inf2cat вручную.
  2. Удалите inf2cat.exe.manifest из \x86 папки активного WDK, чтобы запустить средство в Visual Studio.

Параметры и аргументы

/driver:PackagePath

Указывает путь к каталогу, который содержит INF-файлы для пакетов драйверов. Если указанный каталог содержит INF-файлы для нескольких пакетов драйверов, Inf2Cat создаст файлы каталога для каждого пакета драйверов.

Примечание

Вместо параметра /driver: можно использовать параметр /drv: .

/nocat

Настраивает Inf2Cat, чтобы убедиться, что пакет драйвера соответствует требованиям подписывания для указанных версий Windows, но не создает файлы каталога.

/os:WindowsVersionList

Настраивает Inf2Cat, чтобы убедиться, что INF-файл пакета драйвера соответствует требованиям к подписи для версий Windows, указанных в WindowsVersionList. WindowsVersionList — это разделенный запятыми список, включающий один или несколько из следующих идентификаторов версий.

Версия Windows Идентификатор версии
Windows 11 версии 22H2 x64 Edition 10_NI_X64
Windows 11, версия 22H2 Arm64 Edition 10_NI_ARM64
Windows 11 версии 21H2 x64 Edition 10_CO_X64
Windows 11, версия 21H2 Arm64 Edition 10_CO_ARM64
Windows Server 2022 x64 Edition ServerFE_X64
Windows Server 2022 Arm64 Edition ServerFE_ARM64
Windows 10 версии 22H2, 21H2, 21H1, 20H2, 2004 x86 Edition 10_VB_X86
Windows 10 версии 22H2, 21H2, 21H1, 20H2, 2004 x64 Edition 10_VB_X64
Windows 10 версии 22H2, 21H2, 21H1, 20H2, 2004 Arm64 Edition 10_VB_ARM64
Windows 10 версии 1909, 1903 x86 Edition 10_19H1_X86
Windows 10 версии 1909, 1903 x64 Edition 10_19H1_X64
Windows 10, версия 1909, 1903 Arm64 Edition 10_19H1_ARM64
Windows 10, версия 1809 x86 Edition 10_RS5_X86
Windows 10, версия 1809 x64 Edition 10_RS5_X64
Windows 10, версия 1809 arm64 Edition 10_RS5_ARM64
Windows Server 2019 x64 Edition ServerRS5_X64
Windows Server 2019 Arm64 Edition ServerRS5_ARM64
Windows 10 версии 1803 x86 Edition 10_RS4_X86
Windows 10 версии 1803 x64 Edition 10_RS4_X64
Windows 10 версии 1803 Arm64 Edition 10_RS4_ARM64
Windows 10 версии 1709 x86 10_RS3_X86
Windows 10 версии 1709 x64 Edition 10_RS3_X64
Windows 10 версии 1709 Arm64 Edition 10_RS3_ARM64
Windows 10 версии 1703 x86 Edition 10_RS2_X86
Windows 10, версия 1703 x64 Edition 10_RS2_X64
Windows 10 версии 1607 x86 Edition 10_AU_X86
Windows 10 версии 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 на arm Server10_ARM64

Примечание

Начиная с Windows Server 2008 R2, операционные системы Windows Server больше не будут поддерживать платформы на базе x86.

Inf2Cat игнорирует регистр букв в строках идентификаторов версии. Например, 10_NI_X64 и 10_ni_X64 являются допустимыми идентификаторами для Windows 11 версии 22H2 x64.

/uselocaltime

Используйте локальный часовой пояс при выполнении тестов проверки метки времени драйвера. По умолчанию используется время UTC.

/verbose

Настраивает Inf2Cat для отображения подробных сведений в командном окне.

/?

Настраивает Inf2Cat для отображения сведений справки в командном окне.

/Drm

Нерекомендуемый аргумент командной строки.
Добавьте атрибут подписи DRM в INF-файл, чтобы добавить атрибут подписи DRM.

/Pe

Нерекомендуемый аргумент командной строки.
Добавьте атрибут подписи Petrust в INF-файл, чтобы добавить атрибут подписи petrust.

/pageHashes

Включить хэши страниц с файлами. При необходимости за ним следует список файлов.

Комментарии

Средство Inf2Cat проверяет INF-файлы пакета драйверов на наличие структурных ошибок и проверяет возможность цифровой подписи пакета драйверов. Пакет драйвера может быть подписан только в том случае, если все файлы, на которые ссылается INF-файл, присутствуют, а исходные файлы находятся в правильном расположении. Если INF-файл не может быть подписан или содержит структурные ошибки, пакет драйвера может быть установлен неправильно или может неправильно отобразить диалоговое окно предупреждения о подписи драйвера во время установки.

Inf2Cat создает файл каталога , только если файл каталога указан в INF-файле пакета драйверов, а файл каталога применяется к одной или нескольким из указанных версий Windows. Если раздел INF Version INF-файла содержит только директиву CatalogFile=filename.cat , этот файл каталога применяется ко всему пакету драйвера. Для поддержки кроссплатформенных установок INF-файл должен содержать CatalogFile. PlatformExtension=директивы unique-filename.cat.

Дополнительные сведения о подписи пакета драйверов см. в разделе Подписывание драйверов.

Чтобы использовать Inf2Cat, необходимо быть членом группы администраторов в системе.

Примеры

В следующем примере c:\MyDriver содержит пакет драйвера с INF-файлом MyInfFile.inf, а раздел INF Version в INF-файле содержит только следующую директиву CatalogFile :

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

В этом примере следующая команда Inf2Cat проверяет, можно ли подписать пакет драйвера для Windows 10 версии 21H2, 21H1, 20H2, 2004 x64 Edition и для Windows 11 версии 21H2 x64 Edition. Если пакет можно подписать для этих версий, Inf2Cat создаст файл каталога без знака MyCatalogFile.cat.

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

В следующем примере c:\MyDriver содержит пакет драйвера с INF-файлом MyInfFile.inf, а раздел INF Version в INF-файле содержит только две следующие директивы CatalogFile с расширениями платформы:

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

В этом примере следующая команда Inf2Cat проверяет, можно ли подписать пакет драйвера для Windows 10, версия 1809 x86 Edition и X64 Edition. Кроме того, проверяется возможность подписи windows Windows 10 версии 1909, 1903 x86 и X64 Edition. Если пакет можно подписать для всех этих версий, Inf2Cat создаст неподписанные файлы каталога MyCatalogFileX86.cat и MyCatalogFileX64.cat.

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

Дополнительные сведения об использовании Inf2Cat для создания файла каталога см. в статье Создание файла каталога для пакета драйверов PnP.