Таблица среды
Таблица Среда используется для задания значений переменных среды.
Таблица Среда содержит следующие столбцы.
Столбец | 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 .