мы используем Wix для создания наших установщиков. Мы используем пользовательский интерфейс, где можно выбрать функции, которые необходимо установить. Некоторые функции включены по умолчанию, а другие отключены.
Однако эти значения по умолчанию сохраняются при запуске обновления. Мы бы хотели, чтобы установщик запомнил, какие функции были установлены, и включил их в дерево компонентов для обновления. Все остальные функции должны быть отключены.
У нас был этот код, который, казалось, работал, но на самом деле это не так:
<Feature Id="MainFeature" Level="1" ConfigurableDirectory="INSTALLDIR" Display="expand">
<Feature Id="Feature1" Level="1" InstallDefault="local" AllowAdvertise="no">
<ComponentGroupRef Id="Feature1ComponentGroup" />
<Condition Level="3">(PROJECTUPGRADE AND NOT !Feature1=2)</Condition>
</Feature>
<Feature Id="Feature2" Level="3" InstallDefault="local" AllowAdvertise="no">
<ComponentGroupRef Id="Feature2ComponentGroup" />
<Condition Level="1">(PROJECTUPGRADE AND !Feature2=2)</Condition>
</Feature>
</Feature>