Удалить приложение, используя более позднюю версию MSI

wix bootstrapper

76 просмотра

1 ответ

У нас есть собственный установщик загрузчика WIX. Bootstrapper расслоение цепи 3 отдельных приложения MSI. Пользовательский интерфейс Bootstrapper позволяет пользователю выбирать, какое приложение устанавливать, и в зависимости от выбора пользовательский загрузчик будет устанавливать его MSI.

Теперь рассмотрим сценарий. Приложение, скажем A1 версии 1.0.0.50 установлено в системе. Предположим, что версия загрузчика также 1.0.0.50

Предположим, что доступна следующая версия установщика начальной загрузки с некоторыми обновлениями. Предположим, его версия - 1.0.0.51. Используя это, я хочу установить второе приложение, скажем, A2. Также я хочу удалить A1. В настоящее время мы поддерживаем обновление A1 до версии 1.0.0.51 с помощью этого последнего установщика.

Но я хочу проверить возможность удаления A1 с использованием последней версии загрузчика. Как мне это реализовать? Потому что в соответствии с требованиями нашего проекта, конечный пользователь должен иметь возможность удалить A1, используя любую версию загрузчика.

Я видел в реестре он хранит Uninstallstring для каждой MSI. Если я запускаю значение uninstallstring, например, для MsiExec.exe / X {90140000-0011-0000-0000-0000000FF1CE}, точно ли он будет делать то, что делает msi uninstall? это будет обрабатывать очистку записей в реестре, удаление установленных файлов и т. д.?

Автор: user3663551 Источник Размещён: 08.11.2019 11:24

Ответы (1)


0 плюса

Не ходите в реестры для этого. База данных MSI содержит таблицу обновлений, которая, как мы надеемся, будет соответствовать вашим требованиям ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx ). Добавьте запись с кодом обновления установленного MSI, укажите границы версий в VersionMin и VersionMax, установите атрибут 769 или что-то еще в зависимости от ваших требований, создайте новое открытое свойство и добавьте его в SecureCustomProperties. Наконец, во время установки включите ведение журнала Windows и проверьте журналы на наличие стандартных действий, таких как findrelatedproducts и удалите существующие продукты, если у вас возникнут какие-либо проблемы.

Автор: Aakash Размещён: 23.08.2016 11:31
Вопросы из категории :
32x32