杉宫竹苑工作室

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

安装目录前添加函数判断是否覆盖安装

[复制链接]
发表于 2017-2-23 21:14:54 | 显示全部楼层 |阅读模式

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

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

x
可以在安装目录前添加一个函数判断是否是覆盖安装,如果是则禁用掉目录选择按钮。


  1. ;此函数如果发现注册表中已经有数据,也就是说已经安装了产品则禁用掉路径选择页面的对话框和浏览按钮两控件。
  2. !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow
  3. !insertmacro MUI_PAGE_DIRECTORY

  4. Function PageShow
  5. ReadRegStr $0 HKLM "${PRODUCT_DIR_REGKEY}" ""
  6. ${If} $0 == ""
  7. ${Else}
  8. ;禁用浏览按钮
  9. FindWindow $0 "#32770" "" $HWNDPARENT
  10. GetDlgItem $0 $0 1001
  11. EnableWindow $0 0
  12. ;禁用编辑的目录
  13. FindWindow $0 "#32770" "" $HWNDPARENT
  14. GetDlgItem $0 $0 1019
  15. EnableWindow $0 0
  16. FindWindow $0 "#32770" "" $HWNDPARENT
  17. GetDlgItem $0 $0 1006

  18. SendMessage $0 ${WM_SETTEXT} 0 "STR:已经检测到在您的电脑上安装了 ${PRODUCT_NAME} ,现在进行的覆盖安装不能更改安装目录,如果您需要更改安装目录,请先卸载已经安装的版本之后再运行此安装程序!"
  19. ${EndIf}
  20. FunctionEnd

  21. ;从注册表中读取安装路径
  22. InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""               
  23. ;默认安装路径
  24. InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"     
  25. 复制代码

复制代码

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 19:51 , Processed in 0.106479 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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