После того, как приложение установлено с помощью NSIS, Для удаления его из Панели управления пишите следующий скрипт
Function un.onInit
MessageBox MB_YESNO|MB_ICONEXCLAMATION "Are you sure you want to uninstall EMR?" /SD IDYES IDYES NoAbort
Abort
NoAbort:
SetAutoClose true
FunctionEnd
, чтобы при удалении сначала отображалось всплывающее сообщение («Вы уверены, что хотитеудалить EMR? ") При нажатии кнопки" ОК "удаление завершается.
А также для удаления установленного программного обеспечения перед его повторной установкой пишется следующий скрипт.
Function RemovePrevVerFunction
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\EMR" "UninstallString"
${If} $R0 != ""
MessageBox MB_OKCANCEL "EMR is already installed. Do you want to remove the previous version?" IDOK uninst
Abort
uninst:
ExecWait "$INSTDIR\uninstall.exe"
Quit
FunctionEnd
В приведенном выше сценарии я не использовал ExecWait "$ INSTDIR \ uninstall.exe / S", потому что я хотел показать пользователю процесс удаления.
Но здесь, как скрыть сообщение "ЕстьВы уверены, что хотите удалить EMR?что выскакивает из un.onInit?
При удалении MSI мы используем "/ qb", чтобы скрыть сообщение.Например, есть ли способ скрыть сообщение, используя NSIS?