本文主要是介绍【Qt】NSIS发布安装包程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前面说过了用 windeployqt
动态编译可执行程序,但整个包还是散的。
我们常见的软件都会有一个安装程序,安装后,会生成安装目录,还可以创建桌面快捷方式等等。
那么,如何将我们编译好的Qt release
程序打包成安装程序呢?这里记录一下NSIS+NISEdit
方法。
NSIS发布安装包
- 1.准备部署软件
- 2.用nisedit制作发布脚本
- 3.用NSIS软件编译脚本
1.准备部署软件
我这里用的版本如下:
nsis-3.02.1(最新版nsis是包含了下面的nisedit的)
nisedit2.0.3
2.用nisedit制作发布脚本
1.新建向导脚本
2.填写应用信息
3.设置图标、语言等
4.设置目录与授权信息
5.选择打包的程序文件
6.设置快捷方式
7.安装后运行方式(只有一个.exe就默认)
8.设置卸载
9.完成向导
生成的脚本如下,可自定义更改:
比如要在安装开始的时候选择语言,可以添加以下脚本:
; Language files
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese";初始化函数
Function .onInitPush ""Push ${LANG_ENGLISH} ;添加英文代码 语言代码是系统变量,多语言引入后,自动加载,拼接方式是“LANG_语言”,可以查看NSIS手册,LANG_ENGLISH的编号为1033,LANG_SIMPCHINESE为2052;Push "English"Push ${LANG_SIMPCHINESE} ;添加简体中文选项Push "简体中文"Push A ; A means auto count languages for the auto count to work the first empty push (Push "") must remainLangDLL::LangDialog "Installer Language" "Please select the language of the installer" ;显示语言选择对话框Pop $LANGUAGE ;获得用户对于语言的选择结果 ‘$LANGUAGE’是多语言变量,在安装程序结束后,语言代码会存储在这个变量中,手动修改‘$LANGUAGE’的值后,安装包会重新选择最匹配的语言,参考最上面NSIS手册中选择界面语言步骤StrCmp $LANGUAGE "cancel" 0 +2AbortStrCmp $LANGUAGE 2052 ZH_INI EN_INIEN_INI:;想干啥干啥Goto ENDZH_INI:;想干啥干啥END:
FunctionEnd
3.用NSIS软件编译脚本
加载上一步生成的脚本,编译即可:
测试安装完成后,生成桌面快捷方式如下:
以上。
这篇关于【Qt】NSIS发布安装包程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!