天天看點

Inf2Cat應用的參數使用詳細介紹(inf2cat生成cat檔案)

Inf2Cat

Inf2Cat (Inf2Cat.exe) 是一個指令行工具,該工具确定驅動程式包的 INF 檔案是否可以針

​​​對指定的 Windows 版本清單進行數字簽名​​​。如果可以,那麼 Inf2Cat 會生成适用于指定 Windows 版本的未簽名的目錄檔案。

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

開關和參數

/driver:PackagePath

指定包含驅動程式包的 INF 檔案的目錄路徑。如果指定的目錄包含多個驅動程式包的 INF 檔案,那麼 Inf2Cat 會為每個驅動程式包建立目錄檔案。

注意  可以使用 /drv: 開關來代替 /driver: 開關。

/nocat

将 Inf2Cat 配置為驗證驅動程式包是否符合指定的 Windows 版本的簽名要求,而不生成目錄檔案。

/os:WindowsVersionList

将 Inf2Cat 配置為驗證驅動程式包的 INF 檔案是否符合由 WindowsVersionList 指定的 Windows 版本的簽名要求。WindowsVersionList 是一個逗号分隔清單,其中包含以下一個或多個版

本辨別符。

Windows 版本

版本辨別符

Windows 8 x64版本

8_X64

Windows 8 x86版本

8_X86

Windows Server 2012

Server8_X64

Windows Server 2008 R2 x64版本

Server2008R2_X64

Windows Server 2008 R2 Itanium版本

Server2008R2_IA64

Windows 7 x64版本

7_X64

Windows 7 x86版本

7_X86

Windows Server 2008 x64版本

Server2008_X64

Windows Server 2008 Itanium版本

Server2008_IA64

Windows Server 2008 x86版本

Server2008_X86

Windows Vista x64版本

Vista_X64

Windows Vista x86版本

Vista_X86

Windows Server 2003 x64版本

Server2003_X64

Windows Server 2003 Itanium版本

Server2003_IA64

Windows Server 2003 x86版本

Server2003_X86

Windows XP x64版本

XP_X64

Windows XP x86版本

XP_X86

Windows 2000

2000

Inf2Cat 忽略版本辨別符字元串的字母字元的大小寫。例如,vista_x64 和 Vista_X64 對于 Windows Vista x64 版本來說都是有效的辨別符。

/verbose

将 Inf2Cat 配置為在指令視窗中顯示詳細資訊。

/?

将 Inf2Cat 配置為在指令視窗中顯示幫助資訊。

備注

Inf2Cat 工具替換 Windows Vista 之前的 WDK 版本中包含的 Signability 工具。

若要使用 Inf2Cat,你必須是系統上 Administrators 組的成員。

Inf2Cat 工具檢查驅動程式包的 INF 檔案,了解是否存在結構錯誤,并且是否可以對驗證驅動程式包進行數字簽名。僅當 INF 檔案中引用的所有檔案都存在且源檔案位于正确的位置時,才能對驅動程式包進行簽名。如果無法對某個 INF 檔案進行簽名或者該檔案包含結構錯誤,那麼驅動程式包可能無法正确安裝,或者在安裝期間可能無法正确顯示驅動程式簽名警告對話框。僅當在驅動程式包的 INF 檔案中指定目錄檔案時,Inf2Cat 才生成目錄檔案,并且該目錄檔案應用于一個或多個指定的 Windows 版本。如果 INF 檔案的 INF Version section 僅提供 

CatalogFile=filename.cat 指令,

則該目錄檔案應用于整個驅動程式包。若要支援跨平台安裝,INF 檔案應該包含CatalogFile.PlatformExtension=unique-filename.cat 指令。有關簽署驅動程式包的詳細資訊,請參閱驅動程式簽名和裝置和驅動程式安裝基本主題。

Inf2Cat 工具位于 WDK 的 Program Files\Windows Kits\8.0\bin\x86 或 Program Files (x86)\Windows Kits\8.0\bin\x86 檔案夾中。

示例

在以下示例中,c:\MyDriver 包含一個驅動程式包,該程式包的 INF 檔案為 MyInfFile.inf 并且 INF 檔案中的 INF 版本部分僅包含以下 CatalogFile 指令:

[Version]

. . .

CatalogFile=MyCatalogFile.cat

. . .

對于該示例,以下 Inf2Cat 指令将驗證是否可以針對 Windows 2000 和 x86 版本的 Windows Vista、Windows Server 2003 和 Windows XP 對驅動程式包進行簽名。如果可以針對這些版本對程式包進行簽名,那麼 Inf2Cat 将建立未簽名的目錄檔案 MyCatalogFile.cat。

Inf2Cat /driver:C:\MyDriver /os:2000,XP_X86,Server2003_X86,Vista_X86

在以下示例中,c:\MyDriver 包含一個驅動程式包,該程式包的 INF 檔案為 MyInfFile.inf,并且 INF 檔案中的 INF Version 部分僅包含以下兩個具有平台擴充的CatalogFile 指令:

[Version]

. . .

CatalogFile.ntx86=MyCatalogFileX86.cat

CatalogFile.ntamd64=MyCatalogFileX64.cat

. . .

對于該示例,以下 Inf2Cat 指令将驗證是否可以針對 Windows 2000 和 x86 版本的 Windows Vista、Windows Server 2003 和 Windows XP 對驅動程式包進行簽名。此外,該指令還将驗證是否可以針對 x64 版本的 Windows Vista、Windows Server 2003 和 Windows XP 對驅動程式包進行簽名。如果可以針對所有這些版本對程式包進行簽名,那麼 Inf2Cat 将建立未簽名的目錄檔案 MyCatalogFileX86.cat 和 MyCatalogFileX64.cat。

Inf2Cat /driver:C:\MyDriver /os:2000,XP_X86,XP_X64,Server2003_X86,Server2003_X64,Vista_X86,Vista_X64

繼續閱讀