Поделиться через


Действие WriteEnvironmentStrings

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

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

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

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

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

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

Сообщения ActionData

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

 

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

 

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