Почему удаление msi не удаляет реестр и installdir?
Мы используем проект wix для создания MSI. Мы пытались сделать серьезное обновление.
Мы изменили код продукта и версию продукта и создали новую Msi
Установлен новый msi [ключи реестра были созданы, а installdir содержит последние файлы] на машине.
Теперь мы видим два кода продукта в разделе реестра Uninstall. Я думаю, что старая MSI не удаляется должным образом.
Когда мы обновляем код продукта, он должен позаботиться об этом автоматически, не так ли? Что могло послужить причиной не удаления старой?
2 ответа
Когда мы обновляем код продукта, он должен позаботиться об этом автоматически, не так ли?
Нет, изменение кода продукта недостаточно для удаления предыдущей версии.
Чтобы реализовать обновление, которое удаляет предыдущую версию, используйте MajorUpgrade
элемент, как описано в документации WIX по этому вопросу.
Симптомы говорят мне, что вы не правильно написали свое серьезное обновление. Как выглядит wxs? Как выглядит ваше старое и новое свойство ProductVersion?
FindRelatedProducts / RemoveExistingProducts не распознает старый код продукта и не удаляется.