使用NSIS打包程序

1、前言
程序设计好以后会生成若干可执行文件和依赖文件。为了方便程序被更好地使用,需要将程序封装为一个安装程序。
2、平台和环境
Windows系统
安装NSIS
下载地址:https://nsis.sourceforge.io/Download
NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序,提供了安装、卸载、系统设置、文件解压缩等功能。NSIS通过脚本语言来描述安装程序的行为和逻辑的。
安装HW VNIS Edit
下载地址:https://sourceforge.net/projects/hmne/
HW VNISEDIT是他的这门语言的一个开发工具,能通过向导自动生成一些代码,下面我们做一个简单的应用程序打包步骤
3、使用教程
安装NSIS
成功安装NSIS如下图所示。

User Manual

进入HM VNISEdit窗口

NSIS脚本向导
选择文件-新建向导后进入向导窗口。

填写应用程序信息
应用程序的信息可以在安装程序右键后详细信息中查看。

安装程序选项
选择安装程序图标或者使用默认的图标。设置安装程序的文件、语言、用户图形界面。

快闪屏幕和背景窗口基本不设置

应用程序的目录与授权信息

如果授权文件没有删除文本框中的文本。

指定应用程序的文件

选择文件树,如果安装程序要复制文件夹,则选择文件树时勾选包含子目录。

应用程序图标和快捷方式

可以在此过程中添加其他文件的快捷方式。其他文件如用户手册,设置程序等。
安装后运行方式

解决安装方式


查看脚本

修改脚本和输出脚本文件

4、程序安装






5、卸载程序



6、安装程序个性化
参考文档:https://www.cnblogs.com/modou/p/3573772.html
7、生成安装程序出现的bug
7.1 请指定安装程序语言?

解决办法:
HM VNISEdit 这个工具是第三方脚本编辑器。在编译的时候,它需要调用 NSIS 本身。之所以不出现语言选项,是因为它没检测到你的 NSIS 安装路径。在它菜单栏“NSIS”下找到“配置”,打开的界面中,有个“路径”选项,编译器路径浏览到 NSIS 文件夹下的 makensis.exe,帮助文件浏览到 NSIS 文件夹下的 help.chm 或NSIS.chm 即可正常加载语言。


7.2 找不到License文件

授权文件有的话就指定,没有就空着。
7.3 安装目录没有文件夹
[涉及机密]
文件夹没有被打包进来:

选择要打包的文件,直接把要打包的目录内容全部添加进来,注意两处.,以及勾选“包含子目录”,不要勾选”单独添加每个文件“,编译的时候会把所有的文件打包进来的,下一步
8、其他参考资料:
NSIS多语言支持:https://blog.csdn.net/zjlei712/article/details/39102337
官方支持文档:https://nsis.sourceforge.io/FAQ
NSIS使用教程:https://www.cnblogs.com/myall/p/3637759.html