Диалоговое окно подтверждения удаления Wix для программы и функций (да / нет) перед индикатором выполнения MSI - PullRequest
0 голосов
/ 15 марта 2019

У меня есть веб-приложение ASP.NET Core, которое использует Wix для установки и удаления.

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

Можно ли добавить диалоговое окно до того, как MSI начнет удалять.

Если я нажму да в диалоговом окне, MSI просто продолжит удалять

Если я нажимаю no, MSI существует и не удаляется

1 Ответ

0 голосов
/ 15 марта 2019

Справочная информация : О кнопках «Установка и удаление программ» (внизу).


По умолчанию : я получаю диалоговое окно "are you sure you want to uninstall" до того, как получаю запрос на повышение прав UAC при попытке хотя бы удаления файлов WiX MSI? Хотя есть флажок "do not show this dialog again". Windows 10.

Silent Mode : Проблема в том, что вы спрашиваете, что вы запускаете деинсталляцию в тихом режиме, когда вы вызываете ее с помощью кнопки Uninstall в ARP applet. Это означает, что весь InstallUISequence пропущен и выполняется только InstallExecuteSequence - и в этой последовательности не должно быть никаких диалогов.

Опции : я могу придумать пару вариантов на макушке.

  • Нарушение радиомолчания : в любом случае вы можете вставить настраиваемое действие, отображающее приглашение в InstallExecuteSequence, но это не рекомендуется. Вы должны были бы подготовить это очень хорошо, чтобы удостовериться, что это не обнаруживается неожиданно. Это повлечет за собой обнаружение того, что это не серьезное обновление, и ряд других вещей, которые я бы не рекомендовал пробовать. Слишком много вещей для работы и слишком много, что может пойти не так.
  • Изменить только кнопки : Вы можете скрыть Uninstall button и просто оставить "Modify" на месте в диалог апплета ARP?

    • Это способ настройки будет запущен в режиме графического интерфейса, и вы можете вставить есть диалог, если хотите, но у вас также есть много возможностей отменить удаление до его вызова. Вам даже не нужен дополнительный диалог?

    • Для этого установите в таблице свойств: ARPNOREPAIR = 1 и ARPNOREMOVE = 1.


Ссылки :

...