Пользовательские функции «Восстановление» и «Удаление» для установщиков MSI (при вызове из панели управления) - PullRequest
1 голос
/ 19 февраля 2009

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

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

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

Ответы [ 2 ]

2 голосов
/ 19 февраля 2009

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

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

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

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

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

0 голосов
/ 19 февраля 2009

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

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

...