Я собираюсь предоставить предприятию обновление продукта в виде MSI. Я считаю, что они развертывают это на различных рабочих станциях через GPO.
Какова вероятная последовательность событий при выполнении обновления продукта в этой настройке?
Будут ли они использовать GPO, чтобы сначала удалить предыдущую версию продукта, а затем развернуть новый MSI?
Или они будут ожидать, что новый MSI автоматически удалит предыдущую версию?
Какова вероятная последовательность событий при выполнении обновления продукта в этой настройке?
Скорее всего, они сделают новую публикацию и отменит старую.
Будут ли они использовать GPO, чтобы сначала удалить предыдущую версию продукта, а затем развернуть новый MSI?
Это совершенно не важно для вас. Правильно закодированный MSI БУДЕТ запускать как минимум удаление предыдущей версии.
Или они будут ожидать, что новый MSI автоматически удалит предыдущую версию?
Они будут предполагать, что MSI ведет себя так, потому что это то поведение, которое у него должно быть.
Изменить: удаление старой версии тривиально в новой версии:
https://stackoverflow.com/questions/114165/how-to-implement-wix-installer-upgrade
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="YOUR_GUID">
<UpgradeVersion
Minimum="1.0.0.0" Maximum="99.0.0.0"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
Итак, новая сборка МОЖЕТ запускать неприятности без дополнительного «кодирования». Это чисто конфигурация.
Первое: когда вы доставляете программу одной компании, вы можете просто спросить своего клиента, чего он ожидает.
Однако, как правило, наиболее важно задокументировать шаги, необходимые для обновления вашей программы. Как администратору, мне нужно это сейчас, если я могу просто развернуть его, и он позаботится обо всем, или если мне нужно сначала удалить старую версию (что мне бы не хотелось, но все в порядке, если я знаю, что это необходимо).
Сделайте эту документацию для разных способов установки. Использование GPO весьма вероятно, но не гарантируется.
И наконец: просмотрите свои старые вопросы и примите полученные ответы. Ваш низкий уровень принятия заставит людей дважды подумать, стоит ли их время отвечать вам.
Хотя поставщику может быть приятно это делать, полагаться на это непрактично.
Обычно мы проверяем, установлен ли продукт уже и есть ли в реестре существующий ключ удаления, и запускаем его. Если это не приведет к полному удалению продукта, у нас есть дополнительные процедуры для удаления известных папок и ключей реестра.
Это также может потребовать выполнения чего-то вроде команды sc для остановки, отключения и удаления служб, если это применимо. Для удаления может также потребоваться перезагрузка перед продолжением установки новой версии.