Таблица среды

Таблица Среда используется для задания значений переменных среды.

Таблица Среда содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
Среда Идентификатор Да Нет
Имя Text Нет Нет
Значение Форматированные Нет Да
Компонент_ Идентификатор N Нет

Столбцы

Среды

Это первичный ключ таблицы и нелокализованный маркер.

Имя

Этот столбец является локализуемым именем переменной среды. Значения ключей записываются или удаляются в зависимости от того, какие символы в следующей таблице имеют префикс имени. Порядок символов, используемых в префиксе, не влияет.

Prefix Описание
= Создайте переменную среды, если она не существует, а затем задайте ее во время установки. Если переменная среды существует, задайте ее во время установки.
+ Создайте переменную среды, если она не существует, а затем задайте ее во время установки. Это не влияет на значение переменной среды, если она уже существует.
- Удалите переменную среды при удалении компонента. Этот символ можно сочетать с любым префиксом.
! Удалите переменную среды во время установки. Установщик удаляет переменную среды во время установки, только если имя и значение переменной совпадают с записями в полях Имя и Значение таблицы Среда. Если вы хотите удалить переменную среды независимо от ее значения, используйте синтаксис "!" и оставьте поле Значение пустым.
* Этот префикс используется в Windows 2000, чтобы указать, что имя относится к системной переменной среды. Если звездочка отсутствует, установщик записывает переменную в среду пользователя. Этот символ можно сочетать с любым префиксом. Пакет, используемый для установки в контексте установки на каждом компьютере, должен записывать переменные среды в среду компьютера, включив * в столбец Имя. Дополнительные сведения см. в подразделе "Примечания".
=- Переменная среды задается при установке и удаляется при удалении. Это обычное поведение.
!- Удаляет переменную среды во время установки или удаления.
=+ !+
!=
Они не являются допустимыми префиксами

Если поле Значение в таблице содержит [~], символы префикса применяются только к указанной части строки. Использование [~] описано ниже в разделе Столбец Значение.

Переменная среды удаляется, если поле Значение таблицы пустое. Таким образом, если в поле Значение пустое значение, префикс = удаляет переменную среды при установке, а префикс - удаляет все текущие значения при удалении.

Значение

Этот столбец содержит локализуемое значение, которое должно быть задано в виде форматируемой строки. См. раздел Форматированный. Если это поле осталось пустым, переменная удаляется. Если поле пустое, а строка в поле Name имеет префикс символа - , переменная удаляется только при удалении компонента.

Чтобы добавить значение в конец существующей переменной, добавьте к строке в этом поле префикс символом Null [~] и символом разделителя. Например, если точка с запятой является выбранным разделителем: [~]; Значение.

Чтобы префиксировать значение перед существующей переменной, добавьте строку в этом поле символом разделителя и символом NULL [~]. Например, если точка с запятой является выбранным разделителем: Значение; [~] .

Если в поле отсутствует [~], строка представляет все значение, которое необходимо задать или удалить.

Каждая строка может содержать только одно значение. Например , значение записи; Значение; [~] — это несколько значений, и его не следует использовать, так как это приводит к непредсказуемым результатам. Значение записи; [~] — это только одно значение.

Если имя имеет префикс +, то [~] не следует использовать в столбце Значение. Это связано с тем, что значения "+" и "[~]" явно исключают друг друга.

Компонент_

Внешний ключ к первому столбцу таблицы Component. Этот столбец ссылается на компонент, который управляет установкой значений среды.

Комментарии

Чтобы установщик задал переменные среды, действия WriteEnvironmentStrings и RemoveEnvironmentStrings должны быть перечислены в таблице InstallExecuteSequence.

Обратите внимание, что переменные среды не изменяются для выполняемой установки при выполнении действия WriteEnvironmentStrings или RemoveEnvironmentStrings . В Windows 2000 эти сведения хранятся в реестре, и по завершении установки система уведомляет систему об изменениях. Новый процесс или другой процесс, который проверяет наличие этих сообщений, использует новые переменные среды.

При изменении переменной среды path с помощью таблицы Environment не пытайтесь явно ввести весь новый путь в поле Значение. Вместо этого расширьте существующий путь путем добавления префикса или добавления значения и разделителя (;) в [~]. Если [~] отсутствует в поле Значение, существующие сведения о пути теряются, а установка файла .msi может помешать загрузке компьютера. Переменная пути обычно задается с помощью синтаксиса: [~]; Значение.

При выполнении установки на каждом компьютере с сервера терминалов установщик записывает переменные среды для каждого пользователя в HKU\. Default\Environment. Так как службы терминалов не реплицируют этот раздел реестра, при установке не задаются переменные среды для каждого пользователя. Пакет, используемый для установки на компьютере, должен записывать переменные среды в среду компьютера, включив * в столбец Имя. Если пакет можно установить для каждого пользователя или компьютера, создайте два компонента: (1) компонент для каждого пользователя с записями таблицы Среда, созданными для параметров пользователя, и (2) компонент для каждого компьютера с таблицей Среда, настроенной для параметров компьютера. Условие установки этого компонента с помощью свойства Privileged .

Проверка

ICE03
ICE06
ICE32
ICE46
ICE65
ICE69
ICE80