开发者社区> 杰克.陈> 正文

NSIS:在注册表中记录安装路径以便重装或升级时读取

简介: 原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬。第1步:在“安装目录选择页面”前面加入以下代码:  1 !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow 第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径。
+关注继续查看

原文 NSIS:在注册表中记录安装路径以便重装或升级时读取

在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬。

第1步:在“安装目录选择页面”前面加入以下代码:
 

1 !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow


第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径。


1 InstallDirRegKey HKCU “Software\eBook Workshop” “”

第3步:在主区段中把安装路径写入注册表。

1 WriteRegStr HKCU “Software\eBook Workshop” “” $INSTDIR

第4步:在卸载区段删除注册表中安装路径的键值。

1 DeleteRegKey /ifempty HKCU “Software\eBook Workshop”

第5步:判断如果安装过,禁止修改安装路径。

01 Function Pageshow
02   ReadRegStr $0 HKCU "Software\eBook Workshop" ""
03   ${If} $0 == ""
04   ${Else}
05   ;禁用浏览按钮
06   FindWindow $0 "#32770" "" $HWNDPARENT
07   GetDlgItem $0 $0 1001
08   EnableWindow $0 0
09   ;禁用编辑的目录
10   FindWindow $0 "#32770" "" $HWNDPARENT
11   GetDlgItem $0 $0 1019
12   EnableWindow $0 0
13   FindWindow $0 "#32770" "" $HWNDPARENT
14   GetDlgItem $0 $0 1006
15   SendMessage $0 ${WM_SETTEXT} 0 "STR:您已经安装过 ${PRODUCT_NAME} ,现在进行的覆盖安装不能更改安装目录,如果您需要更改安装目录,请先卸载已经安装的版本之后再运行此安装程序!"
16   ${EndIf}
17 FunctionEnd


轻狂注:以上代码中的eBook Workshop要替换为你软件的名称或特定标识文字。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
记录一下百度网盘双击无法正常启动以及解决办法
记录一下百度网盘双击无法正常启动以及解决办法
17 0
【亲测有效】记录一次Office无法正常和启动报错信息及解决办法
【亲测有效】记录一次Office无法正常和启动报错信息及解决办法
11 0
无需改注册表,快速解决 Windows 10 新建文件夹假死问题
无需改注册表,快速解决 Windows 10 新建文件夹假死问题
17 0
windows快速删除大量文件文件夹的方法
windows快速删除大量文件文件夹的方法
116 0
安装无法继续,因为一个必需文件已损坏或不可用,请从原始源光盘活下载位置重新运行安装程序
了解安装无法继续,因为一个必需文件已损坏或不可用,请从原始源光盘活下载位置重新运行安装程序
532 0
Win10 需要提供管理员权限才能复制到此文件夹的解决方法
Win10 需要提供管理员权限才能复制到此文件夹的解决方法
62 0
Win10 64位 win7 64位 驱动安装不上,提示 文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡改
Win10 64位 win7 64位 驱动安装不上,提示 文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡改如何解决
449 0
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
182 0
Windows 技术篇-win10运行没有、不保存历史记录解决方法,win10文件夹浏览记录为空问题解决
Windows 技术篇-win10运行没有、不保存历史记录解决方法,win10文件夹浏览记录为空问题解决
206 0
+关注
杰克.陈
一个安静的程序猿~
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载