В Wix легко включить компонент при выборе функции. Я хочу сделать противоположное тому, где компонент будет установлен, если не выбрана данная функция. Причина в том, что компонент выполняет изменение конфигурации, которое не требуется, если выбрана данная функция.
Неудачные эксперименты:
Я пытался использовать условия в компоненте:
<Component ...>
<Condition>&Feature = 3</Condition>
...
</Component>
Это не работает, потому что , по-видимому, состояния объектов не рассчитываются в точке, где оцениваются условия компонента .
Я также пытался использовать настраиваемое действие, установленное для запуска перед CostFinalize, чтобы задать свойство, которое можно протестировать в условии компонента. Это также не сработало:
<Custom Action="Transfer_Feature_State" Before="CostFinalize" />
<Custom Action="Transfer_Feature_State_Property" Before="MtpWeb_Features_LabManager" />
<Custom Action="Transfer_Feature_State_Feature" Before="MtpWeb_Features_LabManager" />
Когда пользовательское действие выполнялось, состояние объекта все еще устанавливалось как -1, поэтому состояния объекта не рассчитывались до CostFinalize.
Есть ли способ отключить компонент на основе выбора функции?