环境表

环境表用于设置环境变量的值。

环境表包含以下列。

类型 钥匙
环境 标识符 Y N
名字 文本 N N
价值 格式化 N Y
元件_ 标识符 N N

环境

这是表的主键,是非本地化令牌。

名称

此列是环境变量的可本地化名称。 将写入或删除键值,具体取决于下表中哪些字符以名称为前缀。 在前缀中使用的符号的顺序没有任何影响。

前缀 描述
= 如果环境变量不存在,请创建环境变量,然后在安装期间对其进行设置。 如果环境变量存在,在安装过程中对其进行设置。
+ 如果环境变量不存在,请创建环境变量,然后在安装过程中对其进行设置。 这不会影响环境变量的值(如果已存在)。
- 删除组件时删除环境变量。 此符号可以与任何前缀组合在一起。
! 在安装过程中删除环境变量。 如果变量的名称和值与环境表的“名称和值”字段中的条目匹配,安装程序只会在安装过程中删除环境变量。 如果要删除环境变量,而不考虑其值,请使用“!”语法,并将 Value 字段留空。
* 此前缀与 Windows 2000 一起使用,以指示名称引用系统环境变量。 如果不存在星号,安装程序会将变量写入用户环境。 此符号可以与任何前缀组合在一起。 用于在每台计算机安装上下文中安装的包 安装上下文 应通过在“名称”列中包括 * 将环境变量写入计算机环境。 有关详细信息,请参阅“备注”。
=- 环境变量是在安装和卸载时删除的。 这是通常的行为。
!- 在安装或卸载期间删除环境变量。
=+ !+
!=
这些前缀无效

如果表中的“值”字段包含 [~],则前缀字符仅适用于字符串的指定部分。 “值”列部分下面描述了 [~] 的使用。

如果表的“值”字段为空,则会删除环境变量。 因此,在“值”字段中为空,= 前缀会在安装时删除环境变量,前缀在卸载时删除任何当前值。

此列包含要设置为格式化字符串的可本地化值。 请参阅 格式化。 如果此字段留空,则会删除该变量。 如果该字段为空,并且 Name 字段中的字符串以 - 符号为前缀,则仅当删除组件时才删除该变量。

若要将值追加到现有变量的末尾,请将此字段中的字符串前缀为 Null 字符 [~] 和分隔符。 例如,如果分号是所选分隔符:[~];

若要将值作为现有变量的前面前缀,请将此字段中的字符串追加为分隔符和 Null 字符 [~]。 例如,如果分号为所选分隔符:;[~] .

如果字段中不存在 [~] ,则字符串表示要设置或删除的整个值。

每行只能包含一个值。 例如,项 Value;;[~] 是多个值,不应使用,因为它会导致不可预知的结果。 项 ;[~] 只是一个值。

如果名称以 +为前缀,则 [~] 不得在“值”列中使用。 这是因为“+”和“[~]”的含义显然是彼此独占的。

Component_

组件表的第一列的外部键。 此列引用控制环境值的安装的组件。

言论

若要使安装程序设置环境变量,WriteEnvironmentStrings作RemoveEnvironmentStrings作 需要在 installExecuteSequence 表 列出。

请注意,当运行 WriteEnvironmentStrings作RemoveEnvironmentStrings作 时,安装不会更改环境变量。 在 Windows 2000 上,此信息存储在注册表中,并在安装完成后通知系统更改。 检查这些消息的新进程或其他进程使用新的环境变量。

使用“环境”表修改路径环境变量时,请勿尝试在“值”字段中显式输入整个新路径。 而是通过将值和分隔符(;)前缀或追加到 [~] 来扩展现有路径。 如果 “值”字段中不存在 [~] ,现有路径信息将丢失,并且安装 .msi 文件可能会阻止计算机启动。 路径变量通常使用语法设置:[~];价值。

从终端服务器执行每台计算机安装时,安装程序会将每用户环境变量写入 HKU\。Default\Environment. 由于终端服务不会复制注册表的此部分,因此安装不会设置每个用户的环境变量。 用于每台计算机安装的包应通过在“名称”列中包括 * 将环境变量写入计算机环境。 如果包可以按用户或每台计算机安装,请创建两个组件:(1)每个用户组件,其中包含为用户设置创作的环境表条目;(2) 为计算机设置创作的环境表的每台计算机组件。 使用 Privileged 属性设置此组件。

验证

ICE03
ICE06
ICE32
ICE46
ICE65
ICE69
ICE80