InstallShield условная функция установки
Как сделать так, чтобы компонент в моем проекте InstallShield устанавливался только в том случае, если значение реестра содержит определенное значение? Это значение может быть только "ДА" или "НЕТ".
Я попытался настроить поиск системы следующим образом:
Корень: HKLM Ключ: Программное обеспечение \MyKey\the_key_to_check
Значение: я оставил пустым
Сохраните значение в этом свойстве: ISVALUE (только что созданное свойство, без какого-либо значения) и "просто сохраните значение в свойстве".
Затем, по моему условию: Уровень установки: 1 Условие: Уровень:200, ЗНАЧЕНИЕ = ДА
Попытка получить результат -> Если MyValue равно YES, то установите эту функцию, если нет, не устанавливайте эту функцию. Но это состояние, кажется, никогда не оценивается.
Может ли кто-нибудь помочь мне выполнить эту задачу?
1 ответ
INSTALLLEVEL: Быстрый обзор INSTALLLEVEL
Концепция любезно предоставлена Chris Painter: по умолчанию не устанавливайте подфункции. По сути: для каждой функции есть значение уровня и общее INSTALLLEVEL
для всей установки. Каждая функция на или ниже INSTALLLEVEL
устанавливается по умолчанию. Я думаю, что по умолчанию INSTALLLEVEL
в Installshield есть 100
(Регулируемый).
Installshield. Ниже приведен пример состояния компонента со снимками экрана Installshield. Предварительный выбор компонентов в рамках проекта InstallShield Basic MSI. Особый случай, когда вы устанавливаете Level
в 0
- тогда вы не устанавливаете функцию, а также скрываете ее из графического интерфейса настройки (см. ссылку ниже, чтобы узнать, почему это очень плохая идея для установки по умолчанию для функции - я думаю, что это нормально для назначения в условии, однако просто не делать это по умолчанию).
Предложения: Вы можете попробовать что-то вроде этого:
Опция 1:
Level: 0, Condition: ISVALUE=NO
(скрыть функцию в графическом интерфейсе и не устанавливать функцию, если ISVALUE=NO)Вариант 2:
Level: 101, Condition: ISVALUE=NO
(не устанавливайте функцию, если ISVALUE=NO)
Для обеих опций не забудьте установить уровень функций по умолчанию "установить по умолчанию". Другими словами, на уровне или ниже общего УСТАНОВКИ установки. Например 100
,
Некоторые ссылки:
- Установленная невыбранная функция (больше, чем вы не хотите знать о функциях)
- Сбой условия wix (почему вы не должны установить уровень функции на 0 по умолчанию)
- Как установить уровень функции в зависимости от условий в wix? (аналогичная проблема в WiX)