Как выполнять основные обновления при использовании burn/WiX 3.6

У меня есть одна настройка MSI:

<Product Id="*" ... UpgradeCode="4207FF3B-5E0D-4311-9DFC-B41AA8DE2965" />
    <MajorUpgrade DowngradeErrorMessage="Can't downgrade" />

Работает так, как ожидалось:

  • Установить продукт
  • Перекомпилировать (эффективно генерировать новый идентификатор)
  • Запуск нового файла msi вызывает представление изменений, и я могу восстановить или удалить продукт.

Хорошо. Но потом наступает ожог.

Я создал самый упрощенный Bundle, из которого можно поделать. Я использую стандартный загрузочный диск и просто добавляю один MsiPackage:

<MsiPackage SourceFile="$(var.Setup.TargetPath)" />

Проблема заключается в том, что после каждой перекомпиляции я могу снова установить продукт рядом с уже установленным продуктом, не меняя ничего! Это приводит к дублированию записей ARP!

Если я не перекомпилирую и не запускаю exe файл пакета дважды, я получу экран настройки модификации, как и ожидалось. Что я могу сделать, чтобы иметь такое же поведение при записи, как и в случае с MSI?

Ответ 1

Увеличьте номер версии пакета, и Burn обновит предыдущую версию и удалит ее.