При удалении установщика Windows с помощью NSIS мне нужно запросить окно сообщения (Вы уверены, что хотите удалить.?) Перед экраном удаления - PullRequest
0 голосов
/ 09 января 2019

При удалении установщика Windows из Панели управления -> Программы и компоненты, использующие NSIS, мне нужно запросить окно сообщения (Вы уверены, что хотите удалить ...?) Перед удалением.

Я написал следующий код:

!insertmacro MUI_UNPAGE_INSTFILES

Section "Uninstall"

  ; Remove registry keys
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\EMR"
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\EMR\Electronic Edition"
  DeleteRegKey HKLM "SOFTWARE\EMR\Electronic Edition"
  DeleteRegKey HKLM "SOFTWARE\EMR"

  ; Remove files and uninstaller
  Delete $INSTDIR\EMR_4.0.1.nsi
  Delete $INSTDIR\uninstall.exe

  ; Remove shortcuts, if any
  Delete "$INSTDIR\EMR\Electronic Edition\*.*"

  ; Remove directories used
  RMDir "$INSTDIR\EMR\Electronic Edition"
  RMDir "$INSTDIR\EMR"
  RMDir "$INSTDIR"

 RMDir /r /REBOOTOK $INSTDIR

SectionEnd

Но с помощью приведенного выше кода я получаю экран, показанный ниже, без запроса окна сообщений.

enter image description here

Мне нужно отобразить окно сообщения примерно так, как показано ниже:

enter image description here

Пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 09 января 2019

Для этого уже есть страница удаления:

...
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE English

Вы можете использовать MessageBox, если вам не нужна полная страница:

Function un.onInit
MessageBox MB_YESNO "Are you sure you want to uninstall $(^Name)?" /SD IDYES IDYES NoAbort
Abort
NoAbort:
FunctionEnd
...