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.
, попробуйте одно из следующих способов решения:
- Задайте для параметров inf2cat проекта значение
/nocat
и запустите inf2cat вручную. - Удалите
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.