NSIS添加系统环境变量的方法

A:使用SendMessage ,例子如下:
;修改环境变量

WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "abcd" "ggg"
1
;刷新环境变量

SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"
1
如何将路径添加到系统环境变量中
NSIS, 系统环境变量
问:比如,我把 a.exe 用nsis包装好,安装到 c:\helloLib\a.exe,完成后,想把c:\helloLib\添加到系统环境变量的path里
头,这样,在任何地方输入a.exe可执行。如何将路径添加到系统环境变量中?
答:以下代码实现:

程序代码

ReadRegStr $0 HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path”

WriteRegExpandStr HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path” “$0;C:\hellolib”

复制代码

另类方法一:写注册表,如
程序代码

[HKEY_CLASSES_ROOT\Applications\a.exe\shell\open\command]
@=”yourpath\a.exe”
另类方法二:

程序代码
1.[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\a.exe]
2. @=”c:\helloLib\a.exe”

【NSIS使用经验】修改和删除环境变量
;设置oracle的环境变量到PATH路径

1. ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"

2. WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$0;$INSTDIR\Oracle\bin\"
3. ;刷新环境变量
4. SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"


;利用WordReplace函数从PATH中删除设置oracle的环境变量
;需要在文件头引入相应的头文件:!include “WordFunc.nsh”

1. ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
2.${WordReplace} $R0 ";$INSTDIR\Oracle\bin\" "" "+" $R1
3. ;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
4. WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"

————————————————
版权声明:本文为优快云博主「欣麒骥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/it_ds/article/details/78082369

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值