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


Создание файла каталога для драйвера, отличного от PnP

С помощью средства MakeCat можно создать файл каталога для драйвера, отличного от PnP.

Примечание

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

Чтобы создать файл каталога, сначала необходимо вручную создать файл определения каталога (.. cdf), описывающий атрибуты заголовка каталога и записи файла. После создания этого файла можно запустить средство MakeCat , чтобы создать файл каталога.

Создание файла каталога

Чтобы создать файл каталога для драйвера, отличного от PnP, выполните следующие действия.

  1. Используйте текстовый редактор для создания CDF-файла со списком имени создаваемого файла каталога , его атрибутов и имен файлов, которые должны быть перечислены в файле каталога.

  2. Используйте программу командной строки MakeCat , чтобы создать файл каталога. Дополнительные сведения о средстве MakeCat см. на веб-сайте Using MakeCat .

  3. Установите файл каталога на компьютере, на котором будет установлен драйвер.

Обзор средства MakeCat

При обработке CDF-файла средство MakeCat выполняет следующие действия:

  • Проверяет атрибуты файла каталога , определенного CDF-файлом , и добавляет атрибуты в файл каталога.

  • Проверяет атрибуты для каждого файла, указанного в CDF-файле , и добавляет атрибуты в файл каталога.

  • Создает криптографический хэш или отпечаток каждого из перечисленных файлов.

  • Сохраняет отпечаток каждого файла в файле каталога.

Используйте следующую команду MakeCat, чтобы создать файл каталога.

MakeCat -v CatalogDefinitionFileName.cdf

Где:

  • Параметр -v настраивает MakeCat для печати сообщений о выполнении и предупреждениях.

  • CatalogDefinitionFileName.cdf — это имя файла определения каталога.

Примеры

В следующем примере показано содержимое типичного файла определения каталога с именем Good.cdf. Пакет для каталогизации содержит два файла: File1 и File2. Итоговый файл каталога называется Good.cat.

[CatalogHeader]
Name=Good.cat
PublicVersion=0x0000001
EncodingType=0x00010001
CATATTR1=0x10010001:OSAttr:2:6.0
[CatalogFiles]
<hash>File1=File1
<hash>File2=File2

Параметры, используемые в этом примере, описаны ниже. Дополнительные сведения об этих параметрах см. на веб-сайте MakeCat .

Name=Good.cat
Указывает имя файла каталога (Good.cat).

PublicVersion=0x0000001
Указывает версию файла каталога.

EncodingType=0x00010001
Указывает тип кодирования сообщений, используемый для создания отпечатка. Значение 0x00010001 указывает тип кодирования сообщений PKCS_7_ASN_ENCODING | X509_ASN_ENCODING.

CATATTR1=0x10010001:OSAttr:2:6.0
Указывает атрибут файла каталога. Чтобы указать дополнительные атрибуты, необходимо использовать отдельные параметры CATATTR, при этом каждому параметру присваивается уникальная числовая цифра в качестве суффикса. Например, используйте CATATT1, чтобы указать один атрибут файла каталога, и CATATT2, чтобы указать другой.

В этом примере атрибут, заданный с помощью параметра CATATTR1, имеет следующее значение:

0x10010001
Указывает следующий атрибут:

  • 0x10000000 — атрибут , прошедший проверку подлинности (подписанный, включенный в отпечаток).

  • 0x00010000 — атрибут представлен в виде обычного текста.

  • 0x00000001 — атрибут — это пара "имя-значение".

OSAttr:2:6.0
Атрибут OSAttr указывает целевую версию Windows, требования к подписи которой совместимы с пакетом драйвера. Значение атрибута указывает следующее:

  • Значение 2 указывает, что файл каталога совместим с версиями операционной системы Windows на основе NT.

  • Значение 6.0 указывает, что файл каталога совместим с Windows Vista. Примечание Если пакет драйверов совместим с несколькими версиями Windows, необходимо использовать отдельные параметры CATATTR, чтобы указать атрибут OSAttr для каждой версии Windows.

<hash>File1=File1
Указывает тег ссылки для файла File1, на который ссылается файл каталога. Хэш >значений< File1 приводит к тому, что тег является криптографическим хэшом файла или отпечатком.

<hash>File1=File2
Указывает тег ссылки для файла File2, на который ссылается файл каталога. Хэш >значения< File2 приводит к тому, что тег является отпечатком файла.

В следующем примере показано, как создать файл каталога, Good.cat, из соответствующего файла определения каталога Good.. cdf. Makecat сохраняет Good.cat в той же папке, где находятся File1 и File2 .

MakeCat -v Good.cdf