建立非 PnP 驅動程式的類別目錄檔案
您可以使用 MakeCat 工具來建立非 PnP 驅動程式的 目錄檔案 。
注意
為具有 INF 檔案的驅動程式套件建立類別目錄檔案時,請使用Inf2Cat工具來建立類別目錄檔案。 Inf2Cat 會自動包含套件 INF 檔案中參考之驅動程式套件中的所有檔案。 如需如何使用 Inf2Cat 工具的詳細資訊,請參閱 使用 Inf2Cat 建立類別目錄檔案。
若要建立類別目錄檔案,您必須先手動建立目錄定義檔 (。.cdf) ,描述目錄標頭屬性和檔案專案。 建立此檔案之後,您可以接著執行 MakeCat 工具來建立類別目錄檔案
建立類別目錄檔案
若要為非 PnP 驅動程式建立類別目錄檔案,請遵循下列步驟:
使用文字編輯器來建立 .cdf 檔案,其中列出要建立之 目錄檔案 的名稱、其屬性,以及要列在類別目錄檔案中的檔案名。
使用 MakeCat 命令列工具來建立類別目錄檔案。 如需 MakeCat 工具的詳細資訊,請參閱 使用 MakeCat 網站。
在將安裝驅動程式的電腦上安裝類別目錄檔案。
MakeCat 工具概觀
MakeCat 工具會在處理 .cdf 檔案時執行下列動作:
驗證.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 選項指定的屬性具有下列值:
0x10000000 - 已簽署的已驗證屬性 (,包含在指紋) 中。
0x00010000 - 屬性是以純文字表示。
0x00000001 - 屬性是名稱/值組。
OSAttr:2:6.0
OSAttr 屬性會指定簽署需求與 驅動程式套件相容的目標 Windows 版本。 屬性的值會指定下列專案:
值 2 指定類別目錄檔案與以 NT 為基礎的 Windows 作業系統版本相容。
值 6.0 指定目錄檔案與 Windows Vista 相容。 注意 如果 驅動程式套件 與多個 Windows 版本相容,您必須使用不同的 CATATTR 選項來指定每個 Windows 版本的 OSAttr 屬性。
<hash > File1=File1
指定透過類別目錄檔案參考之 File1 檔案的參考標記。 值< 雜湊 > File1會導致標籤成為檔案的密碼編譯雜湊或指紋。
<hash > File1=File2
指定檔案 File2 的參考標籤,該檔案是透過類別目錄檔案參考的。 值< 雜湊 > File2會導致標籤成為檔案的指紋。
下列範例示範如何從對應的目錄定義檔 Good.產生類別目錄檔案,Good.cat。cdf。 Makecat 會將 Good.cat 儲存在 File1 和 File2 所在的相同資料夾中。
MakeCat -v Good.cdf