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 修飾詞。