У меня есть установщик приложения, который необходимо установить поверх любой существующей версии, независимо от номера версии.
Вместо этого у меня есть установщик, который постоянно говорит, что мне нужно идти, чтобы добавлять / удалять программы. Это очень расстраивает моих тестеров, поскольку они просто замедляют их без какой-либо реальной причины - у них предыдущий установочный пакет всегда устанавливался, удаляя все файлы, которые были там ранее, поэтому им никогда не приходилось делать этот шаг. У нас также есть (большая) клиентская база, которая прошла аналогичную подготовку: в любой версии, которую я устанавливаю прямо сейчас, должна быть перезаписана любая установка, которую я мог выполнить до этого.
Из того, что я могу понять, кажется, что парадигма WiX заключается в том, чтобы делать такие вещи, как блокирование установки версий назад, и другие сложные вещи, такие как исправление. Наши клиенты, честно говоря, не настолько умны, чтобы знать или заботиться о исправлении, слиянии и т.п., и им нужен только один установщик, который всегда работает (и я склонен с ними согласиться; пропускная способность дешевая). Так как мне это получить?
Я пробовал это, но это, кажется, не имеет значения:
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize"/>
</InstallExecuteSequence>
Это версия 3.0.5120 WiX.
РЕДАКТИРОВАТЬ: Согласно предложению Роба там, я добавил этот код:
<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 с другим установщиком, что, по-видимому, было проблемой.