论坛风格切换切换到宽版
  • 1779阅读
  • 2回复

请教一个关于nsis卸载界面的问题 [复制链接]

上一主题 下一主题
离线zjy83350535
 

发帖
7
金钱
70
威望
7
只看楼主 倒序阅读 0 发表于: 2015-07-02
  我想把卸载界面隐藏掉,就是点击卸载图标,提示是否卸载,点卸载后不会出现卸载进度条的界面,直接就进行卸载了,这个能实现吗?
离线mefcl

发帖
48
金钱
190
威望
19
只看该作者 1 发表于: 2015-07-14
  1. ; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
  2. SetCompressor lzma
  3. ; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
  4. !include "MUI.nsh"
  5. ; MUI 预定义常量
  6. !define MUI_ABORTWARNING
  7. !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
  8. !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
  9. ; 欢迎页面
  10. !insertmacro MUI_PAGE_WELCOME
  11. ; 安装目录选择页面
  12. !insertmacro MUI_PAGE_DIRECTORY
  13. ; 安装过程页面
  14. !insertmacro MUI_PAGE_INSTFILES
  15. ; 安装完成页面
  16. !insertmacro MUI_PAGE_FINISH
  17. ; 安装卸载过程页面
  18. ;!insertmacro MUI_UNPAGE_INSTFILES
  19. ; 安装界面包含的语言设置
  20. !insertmacro MUI_LANGUAGE "SimpChinese"
  21. ; 安装预释放文件
  22. !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
  23. ; ------ MUI 现代界面定义结束 ------
  24. Name "My application"
  25. OutFile "Setup.exe"
  26. InstallDir "$PROGRAMFILES\My application"
  27. ShowInstDetails show
  28. ShowUnInstDetails show
  29. Section "MainSection" SEC01
  30.   SetOutPath "$INSTDIR"
  31.   WriteUninstaller "$INSTDIR\uninst.exe"
  32. SectionEnd
  33. #-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
  34. Function un.onInit
  35.   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
  36.   Quit
  37.   Delete "$INSTDIR\uninst.exe"
  38.   Sleep 3000  ;休眠3秒
  39.   RMDir "$INSTDIR"
  40.   MessageBox MB_OK '卸载完成'
  41.   Quit
  42. FunctionEnd

博客:http://mefcl.com/
离线mefcl

发帖
48
金钱
190
威望
19
只看该作者 2 发表于: 2015-08-17
很抱歉,其实上面这个方法不好,你可以使用静默卸载。
  1. SilentUninstall silent

博客:http://mefcl.com/