WiX - всегда перезаписывать предыдущую версию - PullRequest
18 голосов
/ 22 апреля 2009

У меня есть установщик приложения, который необходимо установить поверх любой существующей версии, независимо от номера версии.

Вместо этого у меня есть установщик, который постоянно говорит, что мне нужно идти, чтобы добавлять / удалять программы. Это очень расстраивает моих тестеров, поскольку они просто замедляют их без какой-либо реальной причины - у них предыдущий установочный пакет всегда устанавливался, удаляя все файлы, которые были там ранее, поэтому им никогда не приходилось делать этот шаг. У нас также есть (большая) клиентская база, которая прошла аналогичную подготовку: в любой версии, которую я устанавливаю прямо сейчас, должна быть перезаписана любая установка, которую я мог выполнить до этого.

Из того, что я могу понять, кажется, что парадигма 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 с другим установщиком, что, по-видимому, было проблемой.

1 Ответ

18 голосов
/ 22 апреля 2009

Вы хотите серьезное обновление. В WiX.chm есть раздел, посвященный этой теме («Как сделать»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...