Удалите другой продукт при установке и серьезном обновлении - PullRequest
1 голос
/ 08 января 2020

Два разных продукта имеют разные коды обновления и существуют в двух разных настройках (ProductA.msi и ProductB.msi). Оба имеют версию N.

Теперь ProductB объединен в ProductA версии N + 1. То есть файлы ProductB будут предоставлены установщиком ProductA и в месте установки ProductA.

Пользователь, который устанавливает ProductA версии N + 1, не хотел бы, чтобы ProductB устанавливался больше (это может даже вызвать проблемы). Поэтому, когда ProductA установлен / обновлен до версии N + 1, ProductB (любая версия) должен быть удален. Как я могу выполнить sh это в настройках ProductA?

Это похоже на этот вопрос, но это для удаления другого продукта при удалении , а не при установке / обновлении. Wix - удалить другой продукт

Ответы [ 2 ]

1 голос
/ 08 января 2020

Образец WiX : Вот технический пример того, как описывает Боб Арнсон: Добавление записей в MSI UpgradeTable для удаления связанных продуктов . Не забудьте оставить эту запись в настройках для будущих выпусков. Оно должно сохраняться там, так как люди могут пропустить несколько версий при обновлении?

Inline Sample : пожалуйста, см. Ссылку выше для полного примера.

<!-- Older Product Line 1: Upgrade Code -->
<Upgrade Id="{11111111-1111-1111-1111-000000000000}">
   <UpgradeVersion Property="PRODUCTLINE1" IncludeMinimum="yes" Minimum="0.0.0" />
</Upgrade>

Отладка основных обновлений : WIX не удаляет более старую версию - ad-ho c список причин для серьезного сбоя обновления.


Ссылка на компонент : Объединение настроек может привести к ошибкам некоторых компонентов. Я полагаю, вы в курсе. Это может проявляться как отсутствующие файлы после установки или как "некоторая неисправность" во время обновления ios. Неправильная регистрация, скрученные файлы, вы называете это - просто упоминание.

  • GUID компонентов : Вот некоторая справочная информация о ссылках на компоненты и компонент GUID: Изменить GUID моего компонента в wix?

  • Как правило : если вы устанавливаете старый файлы в новое место с новыми компонентами GUID вы должны быть в порядке. Вещи, которые нужно проверить: общие файлы, COM-серверы, что-либо необычное с точки зрения регистрации области действия машины, сервисы, COM-взаимодействие, COM + и т. Д. c ... Многие настройки просты, другие не .

  • Пользовательские действия : Перенос любых пользовательских действий может вызвать серьезные проблемы - особенно во время сценария обновления ios со сложной последовательностью и согласованием, когда действия действительно выполняются, а не выполняются.

1 голос
/ 08 января 2020

Добавьте код обновления ProductB к новому Upgrade элементу в ProductA. Затем при установке ProductA N + 1 при обновлении будут удалены как ProductA N, так и ProductB.

...