Пользовательские функции "Восстановление" и "Удаление" для установщиков MSI (при вызове из панели управления)

Апплет панели управления " Установка и удаление программ" (или " Программы и компоненты") обычно позволяет удалить или восстановить программу.

Для установки без MSI легко определить, что должно произойти, когда пользователь нажимает кнопку "Изменить" или "Удалить". Просто установите соответствующие ключи в реестре (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<AppName>).

У меня вопрос, как заставить кнопки "Изменить", "Восстановить" и "Удалить" работать в моем направлении (например, для запуска пользовательской программы), если используется MSI-установка?

2 ответа

Решение

Если вы используете MSI, сделайте это способом MSI.

Если вы хотите сделать что-то другое, не используйте MSI. Вы получите много-много головных болей и потеряете преимущества использования MSI.

Если вам нужно запустить собственный EXE во время удаления, посмотрите мой ответ на этот вопрос и просто отмените условия.

Одна вещь, которую вы должны помнить при установке MSI, это то, что пользовательский интерфейс является необязательным, вы не можете рассчитывать на то, что он будет отображаться во время установки или удаления. Пользователь может удалить приложение с MSIEXEC /X вместо нажатия кнопки в ARP

Если вы действительно хотите "сделать это по-своему", я бы предложил создать загрузчик для MSI, установив MSI, скрыть себя от "Установка и удаление программ", а затем вручную добавить запись ARP для вашего пользовательского установщика с помощью ключей реестра. Вы указали выше.

На языке MSI это будет запуск настраиваемого действия (которое может быть.EXE). У установщика Windows довольно крутая кривая обучения... и, как правило, попытка заставить его "работать по-своему" - это путь к большому разочарованию.

Если вы движетесь по этому маршруту, загляните в Wix.sourceforge.net. У него очень активное пользовательское сообщество, которое хорошо осведомлено об установщике Windows.

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