2015-01-20 2 views
0

Мне нужно запустить MSI в зависимости от версии, установленной на целевой машине. Чтобы уточнить:Запуск MSI в режиме REINSTALL

  • MSI не должен устанавливать, если его версия меньше установленной в данный момент версии.
  • В противном случае он должен сделать REINSTALL с помощью REINSTALLMODE = omus.

Я знаю, что это можно сделать, обернув MSI в приложении для загрузки или используя cmd для запуска MSI. Но может ли этот интеллект быть реализован в самой MSI, чтобы он надлежащим образом запускался, когда я дважды щелкаю его?

Будет ли LaunchCondition или CustomAction помочь в достижении этого?

Я использую проект установки Visual Studio для создания моего MSI. Будет ли использовать WIX для достижения этого?

Спасибо, -Kunal

+0

В чем проблема, которую вы решили решить? Вы находитесь в настройках Visual Studio, просто выполните обновление RemovePreviousVersions, чтобы заменить любую более старую версию, и это будет новая установка для новых клиентов. – PhilDW

ответ

0

Первое может быть сделано внутри MSI, но второй не может. MajorUpgrade Element имеет атрибуты AllowDowngrades и DowngradeErrorMessage, которые реализуют шаблон обнаружения и блокировки.

Второе не представляется возможным, поскольку оно неизменно после запуска MSI. Чтобы добиться этого, вам нужно вызвать из bootstrapper, такого как burn.

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

  • Нет связанных вопросов^_^