Установщик Windows с помощью Installshield: как сопоставить настройку ALLUSERS с Env Vars

Я делаю установочный пакет на основе MSI с помощью Installshield Express 2011.

Я предпочитаю задавать для поля ALLUSERS значение 2, что означает попытку установки для каждой машины, но если это невозможно, выполняется установка для каждого пользователя.

Но мой пакет также должен создать некоторые переменные среды, которые должны быть установлены как системные или пользовательские переменные. Похоже, что на них не влияет поле ALLUSERS, поэтому, если выполняется установка для каждого пользователя, установщик может попытаться установить системную переменную среды, которая будет неуместной/запрещенной для установки для каждого пользователя.

Есть ли способ в Installshield установить переменные среды в зависимости от того, является ли это установкой для каждого пользователя или для каждой машины?

Одним из решений может быть установка ALLUSERS на "", что приведет к тому, что каждая установка будет выполняться для каждого пользователя, однако это не подходит для сред малого бизнеса, где разные сотрудники могут войти в систему и ожидать, что смогут использовать продукт.


person CJ7    schedule 07.12.2011    source источник


Ответы (2)


Вот фрагмент из документации MSDN: «Если пакет может быть установлен для каждого пользователя или для каждой машины, создайте два компонента: (1) компонент для каждого пользователя с записями таблицы Environment, созданными для пользовательских настроек, и (2) компонент для каждой машины с таблицей Environment, созданной для параметров компьютера. Обусловите установку этого компонента, используя свойство Privileged».

http://msdn.microsoft.com/en-us/library/windows/desktop/aa368369(v=vs.85).aspx

person Ciprian    schedule 08.12.2011

В проекте Install Shield в разделе 3 Настройка целевой системы есть шаг под названием Переменные среды.

введите здесь описание изображения

person Alejandro Serret    schedule 23.11.2016