Поделиться через


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->Общие->Использовать местное время. Теперь оба Stampinf и Inf2Cat используют локальное время.

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

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

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

/driver:PackagePath

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

Замечание

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

/nocat

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

/os:WindowsVersionList

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

Версия Windows Идентификатор версии
Windows 11 версии 25H2 x64 Edition 10_25H2_X64
Windows 11, версия 25H2 Arm64 Edition 10_25H2_ARM64
Windows 11 версии 24H2 x64 Edition 10_GE_X64
Windows 11, версия 24H2 Arm64 Edition 10_GE_ARM64
Выпуск Windows Server 2025 x64 Server2025_X64
Выпуск Windows Server 2025 Arm64 Server2025_ARM64
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 ServerFE_X64
Выпуск Windows Server 2022 Arm64 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 ServerRS5_X64
Выпуск Windows Server 2019 Arm64 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 Edition 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 10_X86
Выпуск Windows 10 x64 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 Edition.

/uselocaltime

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

/verbose

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

/?

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

/drm

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

/pe

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

/pageHashes

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

Comments

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

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

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

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

Примеры

В следующем примере c:\MyDriver содержит пакет драйвера , INF-файл которого — MyInfFile.inf, а раздел INF-версии в 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-версии в INF-файле содержит только следующие две директивы CatalogFile с расширениями платформы:

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

В этом примере следующая команда Inf2Cat проверяет, можно ли подписать пакет драйвера для Windows 10 версии 1809 x86 Edition и X64 Edition. Кроме того, он проверяет, может ли он быть подписан Windows 10 версии 1909, 1903 x86 Edition и 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.