Как отменить настройку NSIS, не показывая окно сообщения с подтверждением?
Установив NSIS с Modern UI 2, пользователь получает окно сообщения для подтверждения, когда нажимает кнопку " Отмена" в мастере установки.
Я хочу, чтобы пользователь мог выйти из мастера установки без подтверждения дополнительного запроса "Вы уверены?" диалоговое окно сообщения.
В источниках MUI я нашел этот фрагмент:
!macro MUI_FUNCTION_ABORTWARNING
Function .onUserAbort
!ifdef MUI_PAGE_FUNCTION_ABORTWARNING
Call ${MUI_PAGE_FUNCTION_ABORTWARNING}
!endif
!ifdef MUI_ABORTWARNING
!insertmacro MUI_ABORTWARNING
!endif
!ifdef MUI_CUSTOMFUNCTION_ABORT
Call "${MUI_CUSTOMFUNCTION_ABORT}"
!endif
FunctionEnd
!macroend
Я в состоянии определить MUI_PAGE_FUNCTION_ABORTWARNING
функция и MUI_CUSTOMFUNCTION_ABORT
функция.
Поскольку фактическое окно сообщения определяется в середине вызова к MUI_ABORTWARNING
макрос, я не вижу способа остановить вызов макроса.
Мой вопрос:
Есть ли способ помешать MUI показывать пользователю окно сообщения с подтверждением, когда он нажимает кнопку " Отмена" во время процесса установки?
2 ответа
Это предупреждение контролируется !define MUI_ABORTWARNING
(Перед тем как включить mui.nsh):
Name "Test"
Outfile "Test.exe"
RequestExecutionLevel user
#Comment/uncomment this to toggle the messagebox: !define MUI_ABORTWARNING
!include MUI2.nsh
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English
Section
SectionEnd
(не проверено) вы можете попытаться определить соответствующие функции?
!undef MUI_ABORTWARNING
//or
!undef MUI_FUNCTION_ABORTWARNING