環境資料表

Environment 資料表是用來設定環境變數的值。

Environment 資料表具有下列資料行。

資料行 類型 答案 Nullable
環境 識別碼 Y N
名稱 Text N N
格式 化 N Y
元件_ 識別碼 N N

資料行

環境

這是資料表的主鍵,而且是非當地語系化的權杖。

名字

此資料行是環境變數的可當地語系化名稱。 索引鍵值會根據下表中的字元前面加上名稱,寫入或移除。 在前置詞中使用的符號順序中沒有任何作用。

前置詞 描述
= 如果環境變數不存在,請建立環境變數,然後在安裝期間加以設定。 如果環境變數存在,請在安裝期間加以設定。
+ 如果環境變數不存在,請建立環境變數,然後在安裝期間加以設定。 如果環境變數已存在,這不會影響環境變數的值。
- 移除元件時,請移除環境變數。 此符號可以與任何前置詞結合。
! 在安裝期間移除環境變數。 如果變數的名稱和值符合 Environment 資料表的 [名稱] 和 [值] 欄位中的專案,安裝程式只會在安裝期間移除環境變數。 如果您想要移除環境變數,不論其值為何,請使用 '!' 語法,並將 [值] 欄位保留空白。
* 此前置詞會與 Windows 2000 搭配使用,以指出名稱參考系統內容變數。 如果沒有星號存在,安裝程式會將變數寫入使用者的環境。 此符號可以與任何前置詞結合。 用於在每部電腦 安裝內容 中安裝的套件,應該在 [名稱] 資料行中包含 * 將環境變數寫入電腦的環境。 如需詳細資訊,請參閱<備註>。
=- 環境變數會在安裝時設定,並在卸載時移除。 這是一般行為。
!- 在安裝或卸載期間移除環境變數。
=+ !+
!=
這些不是有效的前置詞

如果資料表中的 [值] 欄位包含 [~],則前置詞字元只會套用至字串的指定部分。 [~] 的使用說明如下:值資料行一節。

如果資料表的 Value 欄位空白,就會移除環境變數。 因此,在 [值] 欄位中有空白,= 前置詞會在安裝時刪除環境變數,而 - 前置詞會在卸載時刪除任何目前的值。

價值

此資料行包含要設定為格式化字串的可當地語系化值。 請參閱 格式化。 如果此欄位保留空白,則會移除變數。 如果欄位是空白的,且 Name 欄位中的字串前面加上 - 符號,則只有在移除元件時,才會移除變數。

若要將值附加至現有變數的結尾,請將此欄位中的字串前面加上 Null 字元 [~] 和分隔符號。 例如,如果分號是所選的分隔符號:[~];

若要在現有變數前面加上值,請將此欄位中的字串附加為分隔符號和 Null 字元 [~]。 例如,如果分號是所選的分隔符號: ;[~] .

如果欄位中沒有 [~] ,則字串代表要設定或刪除的整個值。

每個資料列只能包含一個值。 例如,專案 Value;;[~] 是一個以上的值,因此不應該使用,因為它會造成無法預測的結果。 專案 ;[~] 只是一個值。

如果 Name 前面加上 +,則 [~] 不得在 [值] 資料行中使用。 這是因為 「+」 和 「[~]」 的意義顯然互斥。

元件_

元件資料表第一個資料行的外部索引鍵。 此資料行會參考控制環境值的安裝元件。

備註

若要讓安裝程式設定環境變數, WriteEnvironmentStrings 巨集指令RemoveEnvironmentStrings 巨集指令 必須列在 InstallExecuteSequence 資料表中。

請注意,執行 WriteEnvironmentStrings 巨集指令RemoveEnvironmentStrings 動作 時,安裝程式不會變更安裝環境變數。 在 Windows 2000 上,這項資訊會儲存在登錄中,並在安裝完成時通知系統變更。 新進程或檢查這些訊息的另一個進程會使用新的環境變數。

使用 Environment 資料表修改路徑環境變數時,請勿嘗試在 [值] 欄位中明確輸入整個新路徑。 相反地,請將值和分隔符號加上前置詞或附加 (;) 至 [~] 來擴充現有的路徑。 如果 [~] 不存在於 [值] 欄位中,現有的路徑資訊會遺失,而且安裝.msi檔案可能會防止電腦開機。 路徑變數最常使用語法來設定:[~];價值。

從終端機伺服器執行每部電腦安裝時,安裝程式會將每個使用者環境變數寫入 HKU\。Default\Environment。 因為終端機服務不會複寫登錄的這個區段,所以安裝不會設定每個使用者的環境變數。 用於每部電腦安裝的套件應該將環境變數寫入電腦的環境,方法是在 [名稱] 資料行中包含 * 。 如果套件可以安裝每個使用者或每部電腦,請建立兩個元件: (1 個) 針對使用者設定撰寫的 Environment 資料表專案, (2 個) 針對電腦設定撰寫的 [環境] 資料表的個別電腦群組件。 使用 Privileged 屬性來設定此元件的安裝。

驗證

ICE03
ICE06
ICE32
ICE46
ICE65
ICE69
ICE80