Как установить для кода выхода MSI значение 0, если продукт уже установлен с помощью WiX?

У меня уже есть следующая строка в моей настройке WiX, чтобы проверить, установлена ​​ли уже текущая версия:

<UpgradeVersion OnlyDetect='yes' Property='NEWPRODUCTFOUND' Minimum='$(var.ProductVersion)' IncludeMinimum='no' />

MSI выходит с сообщением и кодом выхода «1638». Однако этот MSI является частью загрузчика, который связывает несколько MSI вместе, и я хочу, чтобы загрузчик продолжил и установил следующие MSI.

Как мне сказать WiX / MSI выйти с кодом выхода 0 и без диалогового окна сообщения?

Я мог бы изменить загрузчик, но предпочел бы установить код выхода равным 0.

(Точный код выхода: ERROR_PRODUCT_VERSION - «Другая версия этого продукта уже установлена. Установка этой версии не может быть продолжена. Чтобы настроить или удалить существующую версию этого продукта, используйте« Установка и удаление программ »на панели управления».)


person Stiefel    schedule 24.02.2011    source источник


Ответы (1)


Кажется, вам нужно WixExitEarlyWithSuccess Custom Action.

person Yan Sklyarenko    schedule 24.02.2011
comment
Сначала ваше предложение не сработало - проблема заключалась в том, что если такая же версия уже установлена, msi использовал кешированный установщик - изменения, которые я внес в WiX, были просто проигнорированы. Но после деинсталляции и установки пропатченной версии все заработало. Спасибо! - person Stiefel; 24.02.2011