INF DefaultInstall 區段
注意
如果您要建置 通用驅動程式套件,則此區段只有在具有架構裝飾時才有效,例如 [DefaultInstall.NTAMD64]
。
注意
在 INF 中使用 DefaultInstall 和 Manufacturer 區段會導致通用 INF 驗證失敗,而且可能會導致安裝行為不一致。 請參閱 使用通用 INF 檔案。
如果使用者在選取並按住 (或以滑鼠右鍵按兩下 INF 檔名上的) 之後選取 [安裝] 選單項,則會存取 INF 檔案的 DefaultInstall 區段。 在 Windows 10 1903 版和更新版本的 Windows 上,如果 INF 符合基本驅動程式的需求,則具有 DefaultInstall 的 INF 可以用於許多驅動程式套件 API。
[DefaultInstall] |
[DefaultInstall.nt] |
[DefaultInstall.ntx86] |
[DefaultInstall.ntia64] | (Windows XP and later versions of Windows)
[DefaultInstall.ntamd64] | (Windows XP and later versions of Windows)
[DefaultInstall.ntarm] | (Windows 8 and later versions of Windows)
[DefaultInstall.ntarm64] (Windows 10 version 1709 and later versions of Windows)
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...]
[AddReg=add-registry-section[,add-registry-section]...]
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[BitReg=bit-registry-section[,bit-registry-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...]
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...] ...
項目
通用 INF 不支援所有有效的專案。 下列列出哪些指示詞在通用 INF 中有效,以及哪些指示詞無效。
通用 INF 中支援
CopyFiles=@filename | file-list-section[,file-list-section] ...
這個選擇性指示詞會指定要從來源媒體複製到目的地的一個具名檔案,或參考一或多個 INF 寫入器定義的區段,指定要從來源媒體傳輸至目的地的檔案。
INF 之 DestinationDirs 區段中的 DefaultDestDir 專案會指定要複製之任何單一檔案的目的地。 SourceDisksNames 和 SourceDisksFiles區段,或在此 INF 版本區段的 LayoutFile 專案中指定的其他 INF,提供驅動程式檔案的散發媒體位置。
如需詳細資訊,請參閱 INF CopyFiles 指示詞。
CopyINF=filename1.inf[,filename2.inf]...
(Windows XP 和更新版本的 Windows.) 此指示詞會導致指定的 INF 檔案複製到目標系統。
如需詳細資訊,請參閱 INF CopyINF 指示詞。
AddReg=add-registry-section[,add-registry-section]...
這個指示詞會參考一或多個 INF 寫入器定義的區段,其中新的子機碼可能是初始值專案,會指定為寫入登錄或修改現有索引鍵的值專案。
如需詳細資訊,請參閱 INF AddReg 指示詞。
Include=filename1.inf[,filename2.inf]...
這個選擇性專案會指定一或多個額外的系統提供的 INF 檔案,其中包含安裝此裝置和/或驅動程式所需的區段。 如果指定此專案,通常是 需求 專案。
例如,相依於系統核心串流支援之設備驅動器的系統 INF 檔案會指定此專案,如下所示:
Include= ks.inf,kscaptur.inf,ksfilter.inf
Needs=inf-section-name[,inf-section-name]...
這個選擇性專案會指定系統提供 INF 檔案內的區段,這些區段必須在安裝此裝置期間進行處理。 一般而言,這類具名區段是 DDInstall (或 DDInstall。xxx) 包含在 Include 專案所列其中一個 INF 檔案內的區段。 不過,它可以是這類 DDInstall 或 DDInstall 內所參考的任何區段。內含 INF 的 xxx 區段。
例如,具有上述 Include 專案之設備驅動器的 INF 檔案會指定這個專案,如下所示:
Needs= KS.Registration,KSCAPTUR.Registration.NT,MSPCLOCK.Installation
通用 INF 不支援
Delfiles=file-list-section[,file-list-section]...
此指示詞會參考一或多個 INF 寫入器定義的區段,列出要刪除之目標上的檔案。
如需詳細資訊,請參閱 INF DelFiles 指示詞。
Renfiles=file-list-section[,file-list-section]...
這個指示詞會參考一或多個 INF 寫入器定義的區段,列出在目的地上要重新命名的檔案,然後再將裝置相關的來源檔案複製到目標計算機。
如需詳細資訊,請參閱 INF RenFiles 指示詞。
DelReg=del-registry-section[,del-registry-section]...
這個指示詞會參考一或多個 INF 寫入器定義的區段,其中會指定索引鍵和/或值專案,以在裝置安裝期間從登錄中移除。
如需詳細資訊,請參閱 INF DelReg 指示詞。
BitReg=bit-registry-section[,bit-registry-section]...
這個指示詞會參考一或多個 INF 寫入器定義的區段,其中修改了類型 REG_BINARY 的現有登錄值專案。 如需詳細資訊,請參閱 INF AddReg 指示詞。
如需詳細資訊,請參閱 INF BitReg 指示詞。
ProfileItems=profile-items-section[,profile-items-section]...
這個指示詞會參考一或多個 INF 寫入器定義的區段,這些區段描述要加入或從 [開始] 功能表移除的專案。
如需詳細資訊,請參閱 INF ProfileItems 指示詞。
UpdateInis=update-ini-section[,update-ini-section]...
這個很少使用的指示詞會參考一或多個 INF 寫入器定義的區段,並指定來源 INI 檔案,讓這類區段內的特定區段或行在安裝期間讀入相同名稱的目的地 INI 檔案。 您也可以在 update-ini 區段中指定相同名稱的指定來源 INI 檔案,對目的地上現有 INI 檔案進行逐行修改。
如需詳細資訊,請參閱 INF UpdateInis 指示詞。
UpdateIniFields=update-inifields-section[,update-inifields-section]...
這個很少使用的指示詞會參考一或多個 INF 寫入器定義的區段,其中指定了裝置特定 INI 檔案行內的修改。
如需詳細資訊,請參閱 INF UpdateIniFields 指示詞。
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
這個很少使用的指示詞會參考一或多個 INF 寫入器定義的區段,其中來自來源媒體上提供之裝置特定 INI 檔案的區段或行,將會移至登錄中。
如需詳細資訊,請參閱 INF Ini2Reg 指示詞。
RegisterDlls=register-dll-section[,register-dll-section]...
這個指示詞會參考一或多個 INF 區段,用來指定 OLE 控件的檔案,且需要自我註冊。
如需詳細資訊,請參閱 INF RegisterDlls 指示詞。
UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
這個指示詞會參考一或多個 INF 區段,用來指定 OLE 控件的檔案,而且需要自我取消 (自我移除) 。
如需詳細資訊,請參閱 INF UnregisterDlls 指示詞。
備註
DefaultInstall 區段不得用於裝置安裝。 僅針對類別篩選驅動程式、文件系統篩選器和未與裝置節點相關聯的核心驅動程式服務安裝 DefaultInstall 區段, (devnode) 。
如果在 Windows 10 1903 版和更新版本的 Windows 上使用 DefaultInstall,建議 INF 檔案符合基本驅動程式的需求。
注意
如果驅動程式套件是數字簽署,則具有 Manufacturer 區段的驅動程式套件 INF 檔案不得包含 INF DefaultInstall 區段。 如需簽署驅動程式套件的詳細資訊,請參閱 驅動程序簽署。
若要從裝置安裝應用程式安裝DefaultInstall區段,請使用下列呼叫InstallHinfSection:
InstallHinfSection(NULL,NULL,TEXT("DefaultInstall 132 path-to-inf\infname.inf"),0);
如需如何使用系統定義的 .nt、.ntx86、.ntia64、.ntamd64、.ntarm 和 .ntarm64 延伸模組的詳細資訊,請參閱建立多個平臺和操作系統的 INF 檔案。
範例
下列範例顯示典型的 DefaultInstall 區段:
[DefaultInstall]
CopyFiles=MyAppWinFiles, MyAppSysFiles, @SRSutil.exe
AddReg=MyAppRegEntries