赞
踩
NSIS支持自定义界面插件,编译自定义界面插件嵌入NSIS中即可。使用NSIS-UI-Plugin开源NSIS UI插件框架,使用Qt作为界面库。
NSIS-UI-Plugin:自定插件界面的源代码
VimeoSetup/App: 需要打包的文件
NsisScriptGenerate.py:根据NSIS模板 VimeoSetup/vimeo-template.nsi 将 App中文件提取出来,生成NSIS脚本VimeoSetup/vimeo.nsi。NsisScriptGenerate.py使用了环境变量QTDIR。
VimeoSetup/VCRuntimeDLL: 自定插件界面所需要的运行时
VimeoSetup/build-setup.bat: 一键打包的脚本,先运行 NsisScriptGenerate.py 生成脚本 VimeoSetup/vimeo.nsi,然后根据该脚本生成安装包。build-setup.bat使用了环境变量NSIS_DIR
详细请见README_ch.md。
如果出现如下错误:
There's no Qt version assigned to project NSIS-UI-Plugin.vcxproj for configuration Release/Win32. Please assign a Qt installation in 'Qt Project Settings'.
需要设置编译的Qt环境。选择Qt vs Tools->Qt version->Add new Qt version 选择 D:\Qt\Qt5.14.2\5.14.2\msvc2017 ,点击确定即可。
修改NSIS-UI-Plugin 配置 Qt Project setting-->Qt Instation->5.14.2_msvc2017
重新编译 NSIS-UI-Plugin
注意:如果NSIS_DIR没有设置,编译会成功,但是不会出现 1>已复制 1 个文件的提示。
需要手动将生成的文件 NSIS-UI-Plugin.dll 命名为 nsPlugin.dll 拷贝到NSIS的安装目录Plugins\x86-unicode下如: C:\Program Files (x86)\NSIS\Plugins\x86-unicode
出现错误提示File: "$%QTDIR%\bin\Qt5Core.dll" -> no files found.请参考文章(一),设置环境变量QTDIR
设置完成后,继续运行打包脚本 VimeoSetup/build-setup.bat
完成后生成 vimeo-setup.exe,如下图:
至此示例打包安装完成。
由于部门大部分程序都是使用Qt IDE,所以其修改为Qt5.14.2,并增加测试界面的工程。由于涉及到具体工程业务逻辑,下面内容颗粒度比较大。
如果自定义界面中使用其他模块,必须在NSIS脚本中增加对模块的支持。
如 增加对网络(Qt5NetWork)的支持
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。