Как отменить настройку 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
Другие вопросы по тегам