Таблица среды
Таблица среды используется для задания значений переменных среды.
Таблица среды содержит следующие столбцы.
Столбец | Тип | Ключ | Допустимое значение NULL |
---|---|---|---|
Окружающая среда | идентификатора | Y | N |
Имя | текста | N | N |
Ценность | Форматированные | N | Y |
Компонент_ | идентификатора | N | N |
Столбцы
-
среда
-
Это первичный ключ таблицы и не локализованный маркер.
-
имя
-
Этот столбец является локализуемым именем переменной среды. Значения ключей записываются или удаляются в зависимости от того, какие символы в следующей таблице префиксируются в имя. Нет эффекта в порядке упорядочения символов, используемых в префиксе.
Приставка Описание = Создайте переменную среды, если она не существует, а затем установите ее во время установки. Если переменная среды существует, задайте ее во время установки. + Создайте переменную среды, если она не существует, а затем задайте ее во время установки. Это не влияет на значение переменной среды, если она уже существует. - Удалите переменную среды при удалении компонента. Этот символ можно объединить с любым префиксом. ! Удалите переменную среды во время установки. Установщик удаляет только переменную среды во время установки, если имя и значение переменной соответствуют записям в полях "Имя и значение" таблицы "Среда". Если вы хотите удалить переменную среды независимо от его значения, используйте синтаксис "!" и оставьте поле Value пустым. * Этот префикс используется с Windows 2000, чтобы указать, что имя относится к системной переменной среды. Если звездочка отсутствует, установщик записывает переменную в среду пользователя. Этот символ можно объединить с любым префиксом. Пакет, используемый для установки в контексте установки компьютера, должен записывать переменные среды в среду компьютера, включив * в столбец "Имя". Дополнительные сведения см. в разделе "Примечания". =- Переменная среды устанавливается при установке и удалении при удалении. Это обычное поведение. !- Удаляет переменную среды во время установки или удаления. =+ !+
!=Это недопустимые префиксы Если поле "Значение" в таблице содержит символ [~], то префикс применяется только к указанной части строки. Использование [~] описано ниже в разделе "Значение".
Переменная среды удаляется, если поле "Значение" таблицы пустое. Поэтому с пустым в поле "Значение" префикс = удаляет переменную среды при установке и префикс - удаляет все текущие значения при удалении.
-
значение
-
Этот столбец содержит локализуемое значение, которое должно быть задано как отформатированная строка. См. форматированных. Если это поле остается пустым, переменная удаляется. Если поле пусто, а строка в поле "Имя" префиксируется символом -, переменная удаляется только при удалении компонента.
Чтобы добавить значение в конец существующей переменной, префиксировать строку в этом поле символом NULL [~] и символом разделителя. Например, если точка с запятой является выбранным разделителем: [~];значение.
Чтобы префиксировать значение перед существующей переменной, добавьте строку в этом поле символом разделителя и символом NULL [~]. Например, если точка с запятой является выбранным разделителем: значение; [~] .
Если в поле отсутствует [~], строка представляет все значение, которое необходимо задать или удалить.
Каждая строка может содержать только одно значение. Например, запись значение;значение; [~] имеет несколько значений и не следует использовать, так как это приводит к непредсказуемым результатам. Запись значение; [~] — это только одно значение.
Если имя имеет префикс +, то [~] не должно использоваться в столбце "Значение". Это связано с тем, что смысл "+" и "[~]" явно исключаются друг от друга.
-
Component_
-
Внешний ключ к первому столбцу таблицы компонентов . Этот столбец ссылается на компонент, который управляет установкой значений среды.
Замечания
Чтобы установщик установил переменные среды, действие WriteEnvironmentStrings и действие RemoveEnvironmentStrings необходимо указать в таблице InstallExecuteSequence Table.
Обратите внимание, что переменные среды не изменяются для установки при выполнении действия WriteEnvironmentStrings или действие RemoveEnvironmentStrings. В Windows 2000 эти сведения хранятся в реестре и сообщение уведомляет систему изменений после завершения установки. Новый процесс или другой процесс, который проверяет наличие этих сообщений, использует новые переменные среды.
При изменении переменной среды пути с помощью таблицы Environment не пытайтесь явно ввести весь новый путь в поле "Значение". Вместо этого расширьте существующий путь, префиксируя или добавляя значение и разделитель (;) к [~]. Если [~] отсутствует в поле "Значение", существующие сведения о пути теряются и установка файла .msi могут предотвратить загрузку компьютера. Переменная пути обычно задается с помощью синтаксиса: [~]; Ценность.
При выполнении установки на компьютер с сервера терминала установщик записывает переменные среды для каждого пользователя в HKU\. Default\Environment. Так как службы терминалов не реплицируют этот раздел реестра, установка не задает переменные среды для каждого пользователя. Пакет, используемый для установки на компьютере, должен записывать переменные среды в среду компьютера, включив * в столбец Name. Если пакет можно установить для каждого пользователя или на компьютер, создайте два компонента: (1) компонент для каждого пользователя с записями таблицы среды, созданными для параметров пользователя, и (2) компонент на компьютере с таблицей среды, созданной для параметров компьютера. Условие установки этого компонента с помощью свойства Privileged.