使用通用 INF 檔案
某些 Windows 版本只會使用 Windows 10 Desktop 上可用的驅動程式安裝方法子集。 非桌面版 Windows 的 INF 檔案只能執行 INF 檔案中完整描述的加法作業。 具有這類限制語法的 INF 檔案稱為 通用 INF 檔案。
通用 INF 檔案可預測地安裝,每次都會有相同的結果。 安裝的結果不取決於系統提供的裝置安裝元件以外的元件執行。 例如,共同安裝程式參考在通用 INF 檔案中無效,因為需要其他 DLL 中的程式碼才能在安裝期間執行,這表示系統無法從 INF 檔案判斷安裝的結果。
若要測試 INF 是否為通用,請使用 infverif /u
。
Windows 驅動程式必須通過 infverif /w
,此測試/u
以及驅動程式套件隔離。
如需 InfVerif 選項的清單,請參閱 從命令行執行 InfVerif。
如果您要建置 Windows 傳統型驅動程式套件,則不需要使用通用 INF 檔案,但建議這樣做,因為效能優點。
通用 INF 檔案中的哪些 INF 區段無效?
除了下列各項之外,您可以在通用 INF 檔案中使用任何系統定義的 INF 區段:
- INF 類別Install32 區段
- INF DDInstall.CoInstallers 區段
- INF DDInstall.FactDef 區段
- INF DDInstall.LogConfigOverride 區段
只要 TargetOSVersion 裝飾不包含 ProductType 旗標或 SuiteMask 旗標,INF Manufacturer 區段就有效。
INF DefaultInstall 區段只有在具有架構裝飾時才有效,例如 [DefaultInstall.NTAMD64]
。
通用 INF 檔案中的哪個 INF 指示詞無效?
除了下列專案之外,您可以在通用 INF 檔案中使用任何系統定義的 INF 指示詞:
- INF BitReg 指示詞
- INF DelFiles 指示詞
- INF DelProperty 指示詞
- INF DelReg 指示詞
- INF DelService 指示詞
- INF Ini2Reg 指示詞
- INF LogConfig 指示詞
- INF ProfileItems 指示詞
- INF RegisterDlls 指示詞
- INF RenFiles 指示詞
- INF UnregisterDlls 指示詞
- INF UpdateIniFields 指示詞
- INF UpdateInis 指示詞
下列指示詞具有一些注意事項的有效指示詞:
如果指定 add-registry-section 中的專案具有 HKR 的 reg 根值,或下列情況,INF AddReg 指示詞是有效的:
只有在目的地目錄是下列其中一個 dirids 時,INF CopyFiles 指示詞才有效:
- 11
- 12
- 13 (請參閱 從 Driverstore 執行)
注意:CopyFiles 可能無法用來重新命名 DestinationDirs 包含 dirid 13 的檔案。 - 10,SysWOW64
- 10,廠商特定的子目錄名稱
注意: 在 Windows 10 版本 1709 中,搭配廠商特定子目錄名稱使用 dirid 10 在通用 INF 中有效,如使用 InfVerif 工具測量。 在更新版本中,可能不支援此值。 建議您移至 dirid 13。