使用通用 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 ClassInstall32 區段
- 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 的正則根值,或下列情況中,INF AddReg 指示詞有效:
- 若要註冊 元件物件模型 (COM) 物件,可能會以下列方式撰寫金鑰:
- HKCR
- HKLM\SOFTWARE\Classes
- 若要建立 Hardware Media Foundation Transforms (MFT) ,可以撰寫金鑰:
- HKLM\SOFTWARE\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation
- HKLM\SOFTWARE\WOW3232Node\Microsoft\Windows Media Foundation
- 若要註冊 元件物件模型 (COM) 物件,可能會以下列方式撰寫金鑰:
只有在目的地目錄是下列其中一個dirids時,INF CopyFiles 指示詞才有效:
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應