WiX «Major Upgrade» не полностью устанавливает приложение при понижении
В настоящее время все обновления работают нормально при обновлении до более нового номера версии, однако я получаю странное поведение при понижении версии. Кажется, что он удалит существующую версию, а затем частично установит версию, которую я пытаюсь установить, основной исполняемый файл еще не существует в целевом местоположении, но объявленные ярлыки созданы. Когда объявленный ярлык будет открыт, он завершит установку (предположительно выполнит ремонт), а затем будет работать нормально.
У кого-нибудь есть идеи, почему это происходит?
Мой блок обновления выглядит так:
<UpgradeVersion Minimum="0.0.0.0" Maximum="99.0.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="yes" />
(IgnoreRemoveFailure была попыткой решить эту проблему, но, похоже, она ничего не сделала)
В моей InstallExecuteSequence у меня есть<RemoveExistingProducts After="InstallValidate" />
Также у меня естьProduct Id="*"
а такжеPackage Id="*"
Причина, по которой требуется понижение рейтинга, заключается в том, что клиентское приложение должно работать с той же версией, что и сервер, для обеспечения совместимости, и весь процесс должен быть автоматизирован, поэтому, если версии клиент / сервер не совпадают при входе, пользователь может просто нажмите «да», и соответствующая версия будет загружена, установлена и запущена. Пока что это работает для обновлений, но для понижения необходим дополнительный неинтуитивный шаг, который заключается в том, чтобы вручную перезапустить приложение и затем увидеть диалоговое окно установщика Windows перед его запуском.
Конечным результатом является то, что независимо от обновления или перехода на более раннюю версию текущую версию необходимо полностью удалить, а загруженную версию - полностью установить, поэтому, если есть другой способ сделать это, это также будет хорошим ответом.