参考:安装程序打包工具NSIS(一) - Wzqing的博客
- 下载安装nsis
HM NIS Edit: A Free NSIS Editor/IDE
- 开始创建安装模板
- 输入相关系信息
- 设置安装程序的图标等信息
- 设置用户安装目录,此处的授权文件要改,否则找不到文件报错。
- 添加文件
新建组之类的,主要是为了用户选择安装组件的过程可选,这里要注意一下,当文件数过多的时候,还是用组的形式好一些,要不然软件一直卡死。着重注意一下,目的目录一定一定要设置好,因为这个目录是相对安装目录来的。
- 设置快捷方式
- 安装完成程序之后执行的文件
按照参考的文章说“有时候需要再运行一些依赖项,你可以写好一个批处理文件然后运行,比如说常见的注册表以及bat都可以在这里设置。”
- 绑定卸载文件
- 编译
一些常用的命令修改:
- 注册表的写入和删除已经有了。下次就可以直接读取安装路径了。
- Update特别写一个,不用写卸载和和快捷键,可以直接锁定update文件安装目录。
请勿参考:环境变量很长的时候不要参考
- 中文字符乱码
Unicode true
- 写入系统环境变量
加入头文件!include "WordFunc.nsh"
读取刷新写入环境变量 :环境变量丢了,打开cmd echo %PATH%
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR" "" "+" $R1
;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1;$INSTDIR"
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"
- 卸载时删除环境变量:
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR" "" "+" $R1
;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"
所有文件
File /r "..\path\*"