uninstaller.nsh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. !include nsDialogs.nsh
  2. XPStyle on
  3. # 此卸载脚本在原有基础上添加指定义卸载页面 用于显示提示用户删除用户数据
  4. Var /GLOBAL Dialog_1
  5. ; Var /GLOBAL HLine
  6. Var /GLOBAL VLine
  7. ; Var /GLOBAL Text_1
  8. Var /GLOBAL Label_1
  9. Var /GLOBAL Label_2
  10. Var /GLOBAL CheckBox_1
  11. Var /GLOBAL Checkbox_State
  12. # 创建自定义卸载页面
  13. UninstPage custom un.nsDialogsPage un.nsDialogsPageLeave
  14. Function un.nsDialogsPage
  15. nsDialogs::Create 1018
  16. Pop $Dialog_1
  17. ${If} $Dialog_1 == error
  18. Abort
  19. ${EndIf}
  20. ${NSD_CreateVLine} 0 30u 100% 12u ""
  21. Pop $VLine
  22. ${NSD_CreateLabel} 0 10u 100% 12u "卸载提示:是否本地删除用户数据?"
  23. Pop $Label_1
  24. ${NSD_CreateLabel} 10u 30u 100% 12u "保留用户数据可在重新安装后找回以往配置方案"
  25. Pop $Label_2
  26. ${NSD_CreateCheckbox} 0 50u 100% 10u "&确认删除本地用户数据"
  27. Pop $CheckBox_1
  28. nsDialogs::Show
  29. FunctionEnd
  30. Function un.nsDialogsPageLeave
  31. ${NSD_GetState} $CheckBox_1 $Checkbox_State
  32. ; MessageBox MB_OK "You checked:$\n$\n CheckBox_1 $CheckBox_1 $\n$\n Checkbox_State $Checkbox_State $\n$\n BST_CHECKED ${BST_CHECKED} $\n$\n BST_UNCHECKED ${BST_UNCHECKED}" #MessageBox用于调试
  33. FunctionEnd
  34. Section
  35. SectionEnd
  36. !macro customUnInstall
  37. ; 卸载过程执行
  38. ${ifNot} ${isUpdated}
  39. # 提示窗
  40. ${If} $Checkbox_State == ${BST_CHECKED}
  41. # 如果勾选删除固定文件夹(测试版)
  42. MessageBox MB_OKCANCEL "是否确认删除用户数据?" IDOK label_ok IDCANCEL label_cancel
  43. label_ok:
  44. # 删除固定文件夹
  45. RMDir /r $PROFILE\iConfig_TEST
  46. Goto end
  47. label_cancel:
  48. Goto end
  49. end:
  50. ${EndIf}
  51. ${endIf}
  52. !macroend
  53. #-----------------------------------
  54. #electron-builder添加自定义安装卸载界面
  55. #https://blog.51cto.com/u_15127581/4318016