环境表用于设置环境变量的值。
环境表包含以下列。
| 列 | 类型 | 钥匙 | 空 |
|---|---|---|---|
| 环境 | 标识符 | 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 属性设置此组件。