環境資料表
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 屬性來設定此元件的安裝。