使用“ NSIS”从“控制面板”->“程序和功能”卸载Windows安装程序时,我需要在卸载之前提示一个消息框(确定要卸载...吗?)。
我写了以下代码:
!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
但是使用上面的代码,我可以直接进入下面的屏幕,而无需提示消息框。
我需要显示如下所示的消息框:
请帮助我。
答案 0 :(得分:1)
已有一个卸载程序页面:
...
!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