INF UpdateInis 指示詞
UpdateInis 指示詞會參考一或多個具名區段,指定要從中讀取並套用至目標計算機上相同名稱的現有 INI 檔案的 INI 檔案。 您可以選擇性地在 update-ini-section 中指定這類 INI 檔案的逐行修改。
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
UpdateInis=update-ini-section[,update-ini-section]...
由於 INI 檔案不需要 INI 檔案,所以在 WINDOWS 上安裝此指示詞幾乎從未指定過。 不過, UpdateInis 指示詞在正式語法語句中顯示的任何區段,以及 AddInterface 指示詞所參考的 INF 寫入器定義區段或 InterfaceInstall32 區段中所參考的任何區段都是有效的。
UpdateInis 指示詞所參考的每個具名區段都有下列形式:
[update-ini-section]
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...
update-ini-section 可以有任何 INF 寫入器決定的項目數目,每一個專案在個別行上。
項目
ini-file
指定來源媒體上提供的 INI 檔名,並隱含地指定目標電腦上要更新之 INI 檔案的名稱。 此值可以表示為檔名,或以 INF 檔案之 Strings 區段中定義的 %strkey% 令牌表示。
ini-section
指定指定 INI 檔案內的區段名稱。 如果指定下兩個值,則此區段包含要變更的專案。 如果省略 old-ini-entry 但提供 new-ini-entry ,則會在讀取此區段時新增新專案。
old-ini-entry
這個選擇性值會指定指定 ini 區段中的項目名稱,通常以下列形式表示:
"key=value"
索引鍵和值的或兩者都可以以 INF 檔案的 Strings 區段中定義的 %strkey% 令牌來表示。 星號 (*) 可以指定為 索引鍵 或 值的通配符。
new-ini-entry
這個選擇性值會指定變更指定的 old-ini-entry 或新增新專案。 這個值可以與 old-ini-entry 相同的方式來表示。
flags
這個選擇性值可控制指定 old-ini-entry 和/或 new-ini-entry 的解譯。 旗標專案可以是下列其中一個數值:
值 | 意義 |
---|---|
0 | 如果省略 旗標 專案,這是預設值。 如果 INI 檔案中有指定的 old-ini-entry 索引鍵,請將該 key=value 取代為指定的 new-ini-entry。 只有 INI 檔案中的索引鍵必須相符。 會忽略每個這類索引鍵的對應值。 若要無條件地將 new-ini-entry 新增至目的地 INI 檔案,請省略 INF 之 update-ini 區段中專案的 old-ini-entry 值。 若要無條件地從目的地 INI 檔案中刪除 old-ini-entry ,請省略 new-ini-entry 值。 |
1 | 如果指定的 old-ini-entry (key=value) 存在於 INI 檔案中,請在具有指定 new-ini-entry 的目的地 INI 檔案中取代它。 指定的 old-ini-entry 的索引鍵和值都必須符合 INI 檔案中的索引鍵和值,才能進行這類取代,而不只是上述旗標值的索引鍵。 |
2 | 如果在目的地 INI 檔案中找不到為 old-ini-entry 指定的索引鍵,則不執行任何動作。 否則,所做的變更取決於 INI 檔案中找到的符合專案,以取得 old-ini-entry 和 new-ini-entry 的指定索引鍵,如下所示: (1) 如果 old-ini-entry 的索引鍵存在於 INI 檔案中,但是 new-ini-entry 的索引鍵,請將 old-ini-entry 取代為目的地 INI 檔案中的 new-ini-entry,然後從該 INI 檔案中移除多餘的 new-ini-entry。 (2) 如果 old-ini-entry 的索引鍵存在於 INI 檔案中,但 new-ini-entry 的索引鍵不存在,請將 old-ini-entry機碼取代為目的地 INI 檔案中 new-ini-entry 的索引鍵,但保留 old-ini-entry 的值不變。 |
3 | 如果 INI 檔案中找不到為 old-ini-entry 指定的索引鍵和值,則不執行任何動作。 否則,所做的變更取決於 INI 檔案中找到的相符專案,以取得 old-ini-entry 和 new-ini-entry 的索引鍵和值,如下所示: (1) 如果 old-ini-entry 的 key=value 存在於 INI 檔案中,但是 new-ini-entry 的 key=value,請將 old-ini-entry 取代為目的地 INI 檔案中的 new-ini-entry,然後從該 INI 檔案中移除多餘的 new-ini-entry。 (2) 如果 old-ini-entry 的 key=value 存在於 INI 檔案中,但 new-ini-entry 沒有,請將 old-ini-entry 取代為目的地 INI 檔案中的 new-ini-entry,但保留 old-ini-entry 的值不變。 |
備註
指定的 update-ini-section 名稱在 INF 檔案內必須是唯一的,而且必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則。
INF 會以下列其中一種方式,在散發媒體上提供指定 ini-file 的完整路徑:
在 IHV/OEM 提供的 INF 檔案中,使用此 INF 的 SourceDisksNames 和 SourceDisksFiles 區段,明確指定不在根目錄 (或發佈媒體上) 之每個具名來源檔案的完整路徑。
在系統提供的 INF 檔案中,藉由提供一或多個額外的 INF 檔案,在 INF 檔案的 Version 區段中的 LayoutFile 項目中識別。
在 old-ini-entry 或 new-ini-entry 中指定的任何檔名都應該指定包含該檔案的目的地目錄。 在 update-ini-section 專案中,檔名的這類目的地目錄路徑必須指定為 dirid。 如需可能的 dirid 值清單,請參閱 使用 Dirids。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應