InstallShield условная функция установки - PullRequest
0 голосов
/ 17 сентября 2018

Как сделать так, чтобы компонент в моем проекте InstallShield устанавливался только в том случае, если значение реестра содержит определенное значение? Это значение может быть только «ДА» или «НЕТ».

Я попытался настроить поиск системы следующим образом:

Корень: HKLM Ключ: Программное обеспечение \ MyKey \ the_key_to_check

Значение: я оставил пустым

Сохраните значение в этом свойстве: ISVALUE (только что созданное свойство, без какого-либо значения) и «просто сохраните значение в свойстве».

Тогда, по моему условию: Уровень установки: 1 Состояние: уровень: 200, ISVALUE = ДА

Результат попытки -> Если MyValue равно YES, то установите эту функцию, если нет, не устанавливайте эту функцию. Но это состояние, кажется, никогда не оценивается.

Может ли кто-нибудь помочь мне выполнить эту задачу?

1 Ответ

0 голосов
/ 17 сентября 2018

INSTALLLEVEL : Быстрый обзор концепции INSTALLLEVEL любезно предоставлен Крисом Пейнтером: Установка подфункций не устанавливаемыми по умолчанию . По сути: для каждой функции есть значение уровня и общее значение INSTALLLEVEL для всей установки. Каждая функция на уровне или ниже INSTALLLEVEL устанавливается по умолчанию. Я думаю, что по умолчанию INSTALLLEVEL в Installshield составляет 100 (настраивается).

Installshield : Вот пример состояния компонента со снимками экрана Installshield: Предварительный выбор компонентов в рамках проекта MSI InstallShield Basic . Особый случай - когда вы устанавливаете Level на 0 - тогда вы не устанавливаете функцию, а также скрываете ее из графического интерфейса настройки (см. Ссылку ниже, почему это Это очень плохая идея, чтобы установить в качестве функции по умолчанию для функции - я думаю, что это нормально для назначения в условии, однако, просто не устанавливайте его по умолчанию).

Предложения : Вы можете попробовать что-то вроде этого:

  • Опция 1: Level: 0, Condition: ISVALUE=NO (скрыть функцию в графическом интерфейсе и не устанавливать функцию, если ISVALUE = NO)

  • Опция 2: Level: 101, Condition: ISVALUE=NO (не устанавливать функцию, если ISVALUE = NO)

Для обеих опций не забудьте установить уровень функций по умолчанию «установить по умолчанию». Другими словами, на уровне или ниже общего УСТАНОВКИ. Например 100.


Некоторые ссылки :

...