Диалоговое окно подтверждения удаления Wix о программе и функциях (да / нет) перед индикатором выполнения MSI

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

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

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

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

Если я нажму "Нет", msi существует и не удаляется.


person Calidreaminn    schedule 15.03.2019    source источник


Ответы (1)


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


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

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

Параметры: я сразу могу придумать несколько вариантов.

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

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

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


Ссылки:

person Stein Åsmul    schedule 15.03.2019
comment
Спасибо за ответ, я получаю только диалоговое окно «Вы уверены, что хотите удалить» при удалении MSI с рабочего стола. Но когда я перехожу к программе и функциям, я не получаю этого диалогового окна, и он просто удаляется с диалоговым окном индикатора выполнения. Что я пытаюсь сделать, так это нажать на удалить программу, а затем создать свой собственный диалог с логотипом компании, говорящим да / нет - person Calidreaminn; 15.03.2019
comment
Возможно, попробуйте добавить ARPNOREPAIR = 1 и ARPNOREMOVE = 1 в таблицу свойств вашего MSI. Установите и посмотрите, что вы думаете о том, что вы видите в «Установка и удаление программ». Либо обновите MSI с помощью Orca, либо скомпилируйте новый MSI, добавив Элементы свойств под элементом Product: <Property Id="ARPNOREPAIR" Secure="yes" Value="1"/> - person Stein Åsmul; 15.03.2019
comment
Мне просто нужно создать настраиваемое диалоговое окно с вопросом «да» или «нет» с логотипом моей компании. Orca - лучший способ сделать это? Просто диалоговое окно "да / нет" в момент, когда я нажимаю кнопку "Удалить из функций программы". - person Calidreaminn; 15.03.2019
comment
так что невозможно создать диалог «да / нет» в тот момент, когда я нажимаю «Удалить» на своем msi из программы и функций? - person Calidreaminn; 15.03.2019
comment
Нет, просто не рекомендуется по причине, которую я указал в ответе выше. Для этого вы можете использовать настраиваемое действие - если вы знакомы с этой концепцией. Вы можете даже в диалоговом окне VBScript аля это. Каков объем распространения вашего MSI-файла? Он очень маленький? - person Stein Åsmul; 15.03.2019
comment
@Calidreaminn Я надеюсь, что было ясно, что достаточно оставить кнопку изменения в «Добавить / удалить» программы, потому что вы можете использовать основные диалоговые окна MSI для вызова удаления - при условии, что в MSI есть соответствующий графический интерфейс. - person Stein Åsmul; 16.03.2019
comment
Спасибо за отзыв, компания, в которой я работаю, попросила меня создать диалоговое окно «да / нет» перед запуском последовательности удаления. Я не уверен в области распространения, но прямо сейчас я создал сценарий VB, и теперь у меня есть диалог да / нет. - person Calidreaminn; 18.03.2019
comment
Если я нажму «Да» или «Нет», как мне выйти или продолжить выполнение установщика MSI. Если я нажму «Нет», я бы просто прекратил удаление. - person Calidreaminn; 18.03.2019
comment
Я добавил ссылку в предыдущем комментарии, которую вы должны проверить для получения информации по этому поводу. - person Stein Åsmul; 22.03.2019