Действие WriteEnvironmentStrings

Действие WriteEnvironmentStrings изменяет значения переменных среды.

Переменные среды не изменяются для выполняемой установки при выполнении действия WriteEnvironmentStrings или RemoveEnvironmentStrings . В Windows 2000, Windows Server 2003, Windows XP и Windows Vista эти сведения хранятся в реестре, а WM_SETTINGCHANGE сообщение отправляется для уведомления системы об изменениях после завершения установки. Другой процесс может получать уведомления об изменениях, обрабатывая эти сообщения. Если ожидается перезагрузка системы, сообщение не отправляется. Пакет может использовать свойство MsiSystemRebootPending, чтобы проверка, ожидается ли перезагрузка системы.

Установщик запускает действие WriteEnvironmentStrings только во время установки или переустановки компонента, а действие RemoveEnvironmentStrings — только во время удаления компонента.

Значения записываются или удаляются на основе выбора основных действий и модификаторов. Они описаны в следующем разделе ActionData Messages. Обратите внимание, что в зависимости от указанного действия WriteEnvironmentStrings может удалять переменные, а RemoveEnvironmentStrings может добавлять их в зависимости от разработки таблицы Environment.

Ограничения последовательностей

Действие InstallValidate должно быть выполнено перед действием RemoveEnvironmentStrings. Так как действия WriteEnvironmentStrings и RemoveEnvironmentStrings никогда не применяются во время установки или удаления компонента, их относительная последовательность не ограничена.

Сообщения ActionData

Поле Описание данных действия
 [1] Имя переменной среды для изменения.
[2] Значение переменной среды.
[3] Это поле битовых флагов, указывающее выполняемое действие. Включите только один бит для основного действия. В это поле может быть несколько битов модификаторов. Ознакомьтесь со следующими описаниями битовых флагов.

 

Битовое значение Описание основных действий
0x1 Задано. Задает значение переменной среды во всех случаях.
Если этот бит объединяется с битом модификатора Append или Prefix, действие добавляет значение к любому существующему значению в переменной.
0x2 Задано. Задает значение , если переменная отсутствует.
Если этот бит объединяется с битом модификатора Append или Prefix, действие добавляет значение к любому существующему значению в переменной.
0x4 Удалить. Удаляет значение из переменной.
Если этот бит объединен с битом модификатора Append или Prefix, значение удаляется из существующей строки, если значение существует.

 

Битовое значение Описание модификатора
0x20000000 Если этот бит задан, действия применяются к переменным среды компьютера.
Если этот бит не задан, действия применяются к переменным среды пользователя.
0x40000000 Добавить. Этот бит является необязательным. Не устанавливайте модификаторы Append и Prefix.
0x80000000 Префикс. Этот бит является необязательным. Не устанавливайте модификаторы Append и Prefix.