2015-10-05 4 views
0

Я разрабатываю установщик для приложений наших компаний с помощью WiX.WiX - Suppress/Ignore версия

Одна из вещей, которые я заметил при тестировании, заключается в том, что запуск одного и того же установщика дважды (после успешной установки) приводит к тому, что установка прерывается, поскольку уже существует одна и та же версия программного обеспечения. Мне нужно поведение, которое позволяет одному и тому же установщику запускаться несколько раз, и устанавливать одно и то же приложение несколько раз.

Это происходит потому, что, когда мы развертываем наши клиенты (которые были вручную), мы всегда развертываем как в тестовой среде, так и в производственной среде. Основы кода для двух сред идентичны. Кроме того, некоторые клиенты хотят иметь несколько производственных/тестовых сред на одном компьютере.

Есть ли способ подавить информацию о версии для установщика, чтобы она игнорировала любые предыдущие установки и устанавливала снова? Я пытался до сих пор подавлять PublishProduct, но это не дает такого поведения. Похоже, что атрибут версии также требуется (я не могу его удалить).

ответ

2

Для того, чтобы запустить установку как на той же машине, вы должны:

  • Изменить код продукта на «*».
  • Удалите код обновления или измените его для каждого установщика.
  • Измените путь установки для каждой установки.
1

Проще всего сделать это, чтобы иметь элемент MajorUpgrade в вашей установке, последовательность его afterInstallInitialize (так удаления старой версия затем устанавливает новый), а также набор AllowSameVersionUpgrades к истине. Вам нужно будет иметь значения ProductCode и PackageCode *, чтобы каждая сборка создавала новые подсказки. В основном это ProductCode, в котором говорится, что продукт установлен, и вы не можете установить один и тот же продукт дважды - ему требуется обновление.

Смежные вопросы