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

简介: A:使用SendMessage ,例子如下: ;修改环境变量WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "abcd" "ggg";刷新环境...

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

WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "abcd" "ggg"

;刷新环境变量

SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"

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

程序代码

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

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

复制代码

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

  1. [HKEY_CLASSES_ROOT\Applications\a.exe\shell\open\command]
  2. @=”yourpath\a.exe”

另类方法二:

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

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

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

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

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

ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR\Oracle\bin\" "" "+" $R1
;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"
相关文章
|
Java Windows
使用 windows bat 脚本命令一键实现快速配置JDK 环境变量
使用 windows bat 脚本命令一键实现快速配置JDK 环境变量
637 0
使用 windows bat 脚本命令一键实现快速配置JDK 环境变量
|
3月前
|
C语言
关于如何解决mingw64安装后配置完环境变量仍然执行不了gcc命令
关于如何解决mingw64安装后配置完环境变量仍然执行不了gcc命令
|
3月前
|
Java Windows
windows bat脚本实现快速配置JDK 环境变量
windows bat脚本实现快速配置JDK 环境变量
179 0
|
4月前
|
缓存 算法 持续交付
【Conan 入门教程】总结 Conan 中的环境变量,设置主目录,配置文件等
【Conan 入门教程】总结 Conan 中的环境变量,设置主目录,配置文件等
231 1
|
Java Linux 开发工具
关于Linux环境下的环境变量问题(以Java环境变量配置为例)
关于Linux环境下的环境变量问题(以Java环境变量配置为例)
|
11月前
|
Java
Win7/Win8如何配置jdk环境变量(配置java环境变量)
Win7/Win8如何配置jdk环境变量(配置java环境变量)
84 0
|
安全 Java Linux
什么是命令行和GUI?什么是环境变量?
什么是命令行和GUI?什么是环境变量?
203 0
|
资源调度 测试技术 持续交付
Cypress系列(14)- 环境变量详解
Cypress系列(14)- 环境变量详解
407 0
Cypress系列(14)- 环境变量详解
|
Shell
Mac系统下的环境变量区别
Mac系统下的环境变量区别
160 0
|
开发工具
Visual Studio 2008 环境变量、工作目录、vc++目录、 命令等 的配置和作用
在调试 Visual Studio 2008 程序时,经常有一些动态链接库(即 dll 文件)需要加载到工程里,这样才能依赖第三方库进行程序调试。 这些动态链接库,往往都是测试版本或是开发中的版本,或者会有若干个版本;这个时候,如果直接把 dll 所在目录加到 PATH 里,则会有潜在冲突的危险;如果直接拷贝到 Visual Studio 的目录下,假如测试工程太多,每次有新版本的动态链接库更新时,你需要更新若干次,拷贝、粘贴苦不堪言。
1081 2