У меня есть программа установки, которая должна быть установлена поверх любой существующей версии, независимо от номера версии.
Вместо этого у меня есть установщик, который постоянно говорит, что мне нужно идти, чтобы добавлять/удалять программы. Это очень неприятное поведение для моих тестировщиков, так как оно просто замедляет их по какой-либо причине в своем сознании - предыдущий пакет установщика всегда просто устанавливал, удаляя любые файлы, которые были там раньше, поэтому им никогда не приходилось делать этот шаг. У нас также есть (большая) клиентская база, которая была так же обучена, что любая версия, которую я устанавливаю прямо сейчас, должна перезаписывать любую установку, которую я мог иметь раньше.
Кажется, из того, что я могу собрать, что парадигма WiX - это делать такие вещи, как блокировка обратных версий и другие сложные вещи, такие как исправление. Наши клиенты, честно говоря, недостаточно умны, чтобы знать или заботиться о патче, слиянии и т.д., И просто хочу, чтобы один инсталлятор всегда работал (и я склонен согласиться с ними, пропускная способность дешевая). Итак, как мне это получить?
Я пробовал это, но это просто не имеет значения:
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize"/>
</InstallExecuteSequence>
Это версия 3.0.5120 WiX.
EDIT: В соответствии с предложением Rob, я добавил этот код:
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>
<Upgrade Id="27cb76c7-544e-465f-b1f3-b11d9a49e416">
<UpgradeVersion Minimum="0.8.0"
IncludeMinimum="yes"
Maximum="1.5.1"
Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>
Я не добавляю код, чтобы не допускать установку отката; по причинам, которые невероятно смущают меня, позвольте сказать, что увеличение номера версии не обязательно коррелирует с увеличением полезности программного обеспечения. Я не хочу, чтобы кто-то был заблокирован из того, что, по их мнению, им нужно.
Также очень важно изменить GUID по умолчанию для продукта на "*", чтобы сделать другой GUID с другим установщиком, что, по-видимому, было проблемой.