По сути, ссылка GUID учитывает абсолютное местоположение установки, а не файл как таковой. Вы устанавливаете на новое место, вам нужен новый GUID компонента.

я есть приложение, которое мы переключаем на установщик WiX. Пока что, кажется, все идет хорошо. Единственная проблема, с которой я столкнулся, заключается в том, что, если загрузить и попытаться установить более старую версию, она делает это.

И это немного проблема. Если установлена ​​более новая версия, я не хочу устанавливать более старую версию. Я думал, что проблема была с компонентом «Обновление», но я должен признать, что столкнулся со стеной. Как я могу изменить его, чтобы более старые версии видели, что уже установлена ​​более новая версия, а не устанавливали ее?

Мой тестовый продукт теперь в версии 2.4 (самая новая версия, которую мы пытаемся выпустить). Он корректно обновляется до 2.4.1 или 2.5 или 3.0. Но если я делаю версию 3.0, а затем запускаю MSI для 2.4, он все равно добавляет ее.

Мой компонент обновления:

<Upgrade Id="PUT-GUID-HERE">
  <UpgradeVersion Maximum="2.4" Property="PREVIOUSVERSIONSINSTALLED" />
  <UpgradeVersion Minimum="1.0" Property="NEWERPRODUCTFOUND" OnlyDetect="yes" IncludeMinimum="no" />
</Upgrade>

Следовать за:
Следуя предложению Steins, я получил такую ​​ошибку
«Дубликат символа« WixAction: InstallExecuteSequence / RemoveExistingProducts »найден»
После просмотра в файле Product.wxs под<InstallExecuteSequence>Я должен был удалить<RemoveExistingProducts Sequence="6550" /> потому что это был дубликат, на который он ссылался. После этого установщик сработал, и старые версии больше не могут быть установлены поверх новых версий.

Ответы на вопрос(1)

Ваш ответ на вопрос