Как удалить пакет WiX, у которого нет механизма обновления - PullRequest
0 голосов
/ 16 мая 2018

Версия 1 нашего пользовательского загрузчика WiX не имеет логики удаления для операции обновления. Этот установщик уже выложен. Теперь в версии 2 я хочу поддержать обновление, но чтобы удалить пакет v1, мне нужно добавить немного логики в мой BA. Я имею в виду упаковку модифицированного пакета v1 (с установленной логикой удаления), а затем я буду использовать это для перезаписи старого пакета в C: \ ProgramData \ Package Cache, чтобы при выполнении обновления v2 он вызывал измененный v1 bundle и удалите старый пакет. Теперь установка v2 успешна, но удаление v1 завершается неудачей.

Мой файл журнала содержит следующую информацию:

Detected related bundle: {297fb3b4-f677-4d92-a81a-c0448587b072}, type: Upgrade, scope: PerMachine, version: 1.1.0.0, operation: None
Detected related bundle: {90a15f11-66af-4682-8b09-7f3600f5bacf}, type: Upgrade, scope: PerMachine, version: 1.2.0.0, operation: None
Plan begin, 7 packages, action: Uninstall
Plan skipped removal of provider key: {78089b86-4712-4498-b4f6-7a4544d721b8} because it is registered to a different bundle: (null)
Plan skipped related bundle: {90a15f11-66af-4682-8b09-7f3600f5bacf}, type: Upgrade, because it was previously scheduled.

У меня нет проблем с обновлением с v2 до v3, потому что в моем v2 уже есть логика удаления.

1 Ответ

0 голосов
/ 16 мая 2018

Код UpgradeCode должен быть установлен в вашей установке V1.Я бы использовал это для реализации «логики обновления».

Если по какой-то причине это невозможно, вы всегда можете удалить с помощью ProductCode в вашей установке V1. msiexec / x {}

...