一、项目介绍
介绍一个我开发的开源NSIS UI插件 NSIS-UI-Plugin
,基于 NSIS-UI-Plugin 插件我们可以快速使用NSIS制作类似QQ等软件那样的安装包。
该插件默认使用Qt作为界面库(不需要编译Qt静态库,可以使用Qt动态库),但也可以很方便的切换使用其他界面库,如DuiLib等。
项目地址:
https://github.com/winsoft666/NSIS-UI-Plugin
二、依赖项
使用NSIS-UI-Plugin插件需要提前安装如下工具。
2.1 NSIS
从https://nsis.sourceforge.io/Download 下载NSIS并安装,新增系统环境变量NSIS_DIR
为NSIS安装目录。
2.2 Python
之所以需要安装Python,主要是为了执行NsisScriptGenerate.py
脚本。
将Python.exe
所在目录添加到Path
环境变量。
2.3 Qt
因为插件默认使用Qt作为界面库,所以需要安装Qt。
Qt安装包会默认将安装目录添加QTDIR
环境变量,如果没有自动添加,则需要手动添加。
三、开始使用
3.1 编译NSIS-UI-Plugin
安装完上面依赖项之后,编译NSIS-UI-Plugin\NSIS-UI-Plugin.vcxproj
工程,Visual Studio的生成后事件会自动将目标文件(Debug版:nsQtPluginD.dll
, Release版:nsPlugin.dll
)拷贝到NSIS插件目录(NSIS_DIR\Plugins\x86-unicode
)。
3.2 生成安装包
VimeoSetup
是一个关于如何在NSIS中使用该插件的示例工程:
1 | App -- 放置需要打包到安装包中的文件 |
将需要打包的文件放置到App
目录,然后运行build-setup.bat
生成安装包。
NsisScriptGenerate.py
脚本功能:因为NSIS没有提供获取文件释放进度的功能,所以NsisScriptGenerate.py
遍历App
目录,采用File
命令挨个添加文件,并调用插件接口SetInstallStepDescription
通知安装详情。
四、截图
仅用作示例,你可以使用任意界面库来创建任意的安装/卸载界面。