WriteEnvironmentStrings 動作

WriteEnvironmentStrings 巨集指令會修改環境變數的值。

執行 WriteEnvironmentStrings 巨集指令或 RemoveEnvironmentStrings 動作 時,安裝程式不會變更安裝環境變數。 在 Windows 2000、Windows Server 2003、Windows XP 和 Windows Vista 上,此資訊會儲存在登錄中,並傳送 WM_SETTINGCHANGE 訊息,以在安裝完成時通知系統變更。 另一個程式可以透過處理這些訊息來接收變更的通知。 如果系統重新開機擱置中,則不會傳送任何訊息。 套件可以使用 MsiSystemRebootPending 屬性來檢查系統重新開機是否擱置中。

安裝程式只會在安裝或重新安裝元件期間執行 WriteEnvironmentStrings 動作,並且只在移除元件期間執行 RemoveEnvironmentStrings 動作 。

值會根據選取主要動作和修飾詞來寫入或移除。 下列 ActionData Messages 一節會說明這些訊息。 請注意,根據指定的動作,WriteEnvironmentStrings 可能會移除變數,而 RemoveEnvironmentStrings 可能會根據 Environment 資料表的撰寫來新增變數。

序列限制

InstallValidate 巨集指令必須在 RemoveEnvironmentStrings 動作之前執行。 由於 WriteEnvironmentStrings 巨集指令和 RemoveEnvironmentStrings 動作永遠不會在安裝或移除元件期間套用,因此不會限制其相對順序。

ActionData 訊息

欄位 動作資料的描述
 [1] 要修改的環境變數名稱。
[2] 環境變數值。
[3] 這是位旗標的欄位,指定要執行的動作。 只包含主要動作的一個位。 此欄位中可能包含一個以上的修飾詞位。 請參閱下列位旗標描述。

 

位值 主要動作的描述
0x1 設定。 在所有情況下設定環境變數的值。
如果這個位與 Append 或 Prefix 修飾詞位結合,動作會將值新增至變數中的任何現有值。
0x2 設定。 如果變數不存在,請設定值。
如果這個位與 Append 或 Prefix 修飾詞位結合,動作會將值新增至變數中的任何現有值。
0x4 移除。 從變數中移除值。
如果這個位與 Append 或 Prefix 修飾詞位結合,如果值存在,就會從現有的字串中移除此值。

 

位值 修飾詞的描述
0x20000000 如果設定此位,動作會套用至電腦環境變數。
如果未設定此位,動作會套用至使用者的環境變數。
0x40000000 Append。 這個位是選擇性的。 請勿同時設定 Append 和 Prefix 修飾詞。
0x80000000 首碼。 這個位是選擇性的。 請勿同時設定 Append 和 Prefix 修飾詞。