正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬。
第1步:在“安装目录选择页面”前面加入以下代码:
- !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow
复制代码
第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径。 - InstallDirRegKey HKCU “Software\eBook Workshop” “”
复制代码
第3步:在主区段中把安装路径写入注册表。
- WriteRegStr HKCU “Software\eBook Workshop” “” $INSTDIR
复制代码
第4步:在卸载区段删除注册表中安装路径的键值。
- DeleteRegKey /ifempty HKCU “Software\eBook Workshop”
复制代码
第5步:判断如果安装过,禁止修改安装路径。
- Function Pageshow
- ReadRegStr $0 HKCU "Software\eBook Workshop" ""
- ${If} $0 == ""
- ${Else}
- ;禁用浏览按钮
- FindWindow $0 "#32770" "" $HWNDPARENT
- GetDlgItem $0 $0 1001
- EnableWindow $0 0
- ;禁用编辑的目录
- FindWindow $0 "#32770" "" $HWNDPARENT
- GetDlgItem $0 $0 1019
- EnableWindow $0 0
- FindWindow $0 "#32770" "" $HWNDPARENT
- GetDlgItem $0 $0 1006
- SendMessage $0 ${WM_SETTEXT} 0 "STR:您已经安装过 ${PRODUCT_NAME} ,现在进行的覆盖安装不能更改安装目录,如果您需要更改安装目录,请先卸载已经安装的版本之后再运行此安装程序!"
- ${EndIf}
- FunctionEnd
复制代码
轻狂注:以上代码中的eBook Workshop要替换为你软件的名称或特定标识文字。
|