Что мне нужно проверить, чтобы убедиться, что удаление выполняется?

Мне нужно установить условие запуска в моей программе установки, чтобы пользователь не мог запускать файл MSI напрямую, если только он не выполняет деинсталляцию. (Все другие типы установки должны запускаться из приложения начальной загрузки, чтобы оно могло обеспечить выполнение всех предварительных условий.)

Какие условия мне нужно проверить для этого? Я старался REMOVE="ALL" OR BOOTSTRAP (BOOTSTRAP это свойство, которое мое приложение начальной загрузки определяет в командной строке при запуске MSI), но оно также запускается при восстановительной установке, которая мне не нужна.

2 ответа

Решение

Насколько я могу судить, до сих пор не существует способа предотвратить запуск восстановительных установок при непосредственном запуске MSI, поэтому мне пришлось добавить OR REINSTALL="ALL" в моем состоянии запуска. Если кто-то знает способ разрешить ремонтные работы только через загрузчик, объяснение будет очень ценно.

Лично я иду по этому другому пути. Я ожидаю, что пользователь может запустить MSI, а не SETUP.EXE, поэтому я намеренно продублирую все проверки prereq загрузчика в MSI, используя AppSearch и LaunchConditions. Таким образом, если они либо пропустят загрузчик, либо он каким-то образом потерпит неудачу, мой MSI все равно сможет решить проблему.

Я также следую практике добавления "или Установлено" в моих условиях, чтобы отсутствующий пререк не препятствовал удалению.

Другие вопросы по тегам