杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2033|回复: 0

NSIS制作安装包,如何检测并卸载已有版本

[复制链接]
发表于 2016-9-2 20:35:40 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
将如下代码追加到NSIS脚本的尾部即可
  1. Var UNINSTALL_PROG

  2. Function .onInit
  3.   ClearErrors
  4.   ReadRegStr $UNINSTALL_PROG ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
  5.   IfErrors  done
  6.   
  7.   MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
  8.     "检测到本机已经安装了 ${PRODUCT_NAME}。\
  9.     $\n$\n是否先卸载已安装的版本?" \
  10.       /SD IDYES \
  11.       IDYES uninstall \
  12.       IDNO done
  13.   Abort
  14.   
  15. uninstall:
  16.   CreateDirectory C:\WINDOWS\temp
  17.   CopyFiles $UNINSTALL_PROG  C:\WINDOWS\temp\uninst.exe

  18.   ExecWait '"C:\WINDOWS\temp\uninst.exe" /S _?=C:\WINDOWS\temp' $0
  19.   DetailPrint "uninst.exe returned $0"
  20.   Delete "C:\WINDOWS\temp\uninst.exe"

  21. done:
  22. FunctionEnd
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-18 02:01 , Processed in 0.116981 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表