Как создать пакет записи WiX, который обновит версию Lite моего продукта

У меня есть два SKU моего продукта. Оба используют Burn в качестве загрузчика. Я создал файлы MSI таким образом, что версия Pro будет обновляться и заменять версию Lite. Но как только я завернул их в запись, версия Pro правильно обновляет MSI, но запись об установке Lite остается в списке ARP. Они оба имеют один и тот же номер версии, и я установил:

<RelatedBundle Id="LITE_UPGRADE_CODE" Action="Upgrade"/>

В комплекте Pro.

Есть ли способ удалить запись Lite?


person TroyC    schedule 07.05.2013    source источник


Ответы (1)


Да, но вам нужно будет сделать одну из двух следующих вещей:

(просто): сделайте так, чтобы пакет Pro имел более высокую версию, чем пакет Lite — обновления вступают в силу только тогда, когда версия выше.

(сложнее): используйте пользовательский BA для планирования пакета, связанного с Lite, как Absent — вы можете изменить RelatedBundle/@Action на Detect, а когда пакет Lite появится в OnPlanRelatedBundle(), измените запрошенное состояние на Absent. Пакет Pro удалит пакет Lite в конце этапа применения.

Пользовательский БА, вероятно, является более правильным способом решения проблемы, но будет намного больше работы, если вы еще не вложили средства в пользовательский БА.

Удачи!

person Rob Mensching    schedule 07.05.2013