Qt 使用Installer Framework制作安装包
- 引言
- 一、下载安装 Qt Installer Framework
- 二、简单使用
- 2.1 创建目录结构 (文件夹结构)
- 2.2 制作程序压缩包
- 2.3 制作程序安装包
引言
Qt Installer Framework (安装程序框架)是一个强大的工具集,用于创建自定义的在线和离线安装程序。它具有高度可配置性和可自定义性,适用于所有支持的Qt平台:Linux、Windows和macOS。并且其提供了清晰的文档和示例,帮助开发人员为应用程序创建安装程序。
本文以Windows为例,简述其制作一个软件安装包的步骤.
一、下载安装 Qt Installer Framework
官方下载地址:https://download.qt.io/official_releases/qt-installer-framework/
也可使用源码安装,可参考官方文档:https://doc.qt.io/qtinstallerframework/ifw-getting-started.html#building-from-sources
-
- 从官方下载的安装包,双击exe后无脑下一步即可
- 从官方下载的安装包,双击exe后无脑下一步即可
-
- 配置环境变量
在我的电脑上右键 > 属性 > 高级系统设置 > 环境变量 > 在Path中增加binarycreator.exe
所在路径
- 配置环境变量
-
- 简单验证,在终端输入
binarycreator.exe
,显示如下图所示:
- 简单验证,在终端输入
二、简单使用
官方文档 Creating an Installer:https://doc.qt.io/qtinstallerframework/ifw-tutorial.html
2.1 创建目录结构 (文件夹结构)
-
- 创建相关目录以及配置文件,具体结构如下图所示:
- 创建相关目录以及配置文件,具体结构如下图所示:
-config
- config.xml
-packages
- com.vendor.root
- data
- 程序压缩包 (包含可执行文件和依赖库等,支持7z, zip, tar.gz, tar.bz2 and tar.xz)
- meta
- 安装的软件模块说明 (package.xml等)
创建一个目录结构:比如创建一个目录叫
InstallerTest
。该目录必须包含名为config
和packages
的子目录。config
下需包含config.xml
配置文件。packages
下可包含一个或多个程序 or 模块的目录 (安装时可选择安哪个),每个目录下又分为data
(软件相关)和meta
(安装程序相关)
关于目录结构的说明可参考:
使用Qt Installer Framework制作软件安装包:https://www.cnblogs.com/xia-weiwen/p/6857333.html
官方说明文档 Package Directory:https://doc.qt.io/qtinstallerframework/ifw-component-description.html
-
- config.xml文件,其控制安装程序的
欢迎
、安装文件夹
和开始菜单快捷方式
等,如下图所示:
- config.xml文件,其控制安装程序的
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>软件名称</Name>
<Version>1.0.0</Version>
<Title>安装程序名称 - 会在安装程序的标题上显示</Title>
<Publisher>软件发布者</Publisher>
<StartMenuDir>在开始菜单中的默认目录名称</StartMenuDir>
<TargetDir>默认的安装目录</TargetDir>
</Installer>
还可以设置安装程序的颜色、Logo等
更多详细信息可参考:https://doc.qt.io/qtinstallerframework/ifw-globalconfig.html
-
- package.xml文件,其控制安装程序的
选择组件
和许可协议
等界面,如下图所示
- package.xml文件,其控制安装程序的
<?xml version="1.0" encoding="UTF-8"?>
<Package>
<DisplayName>一个模块</DisplayName>
<Description>相关描述</Description>
<Version>1.0.0-1</Version>
<ReleaseDate>2024-07-01</ReleaseDate>
</Package>
还可以增加许可协议以及自定义UI界面
更多详细信息可参考:https://doc.qt.io/qtinstallerframework/ifw-component-description.html#package-information-file-syntax
2.2 制作程序压缩包
-
- 编译
release
版的程序,然后使用windeployqt
复制相关库,如下图所示:
- 编译
-
- 压缩为
7z, zip, tar.gz, tar.bz2 and tar.xz (可选)
格式,放到相应的data
目录下
- 压缩为
windeployqt的使用可参考:
Qt的windeployqt打包:https://blog.csdn.net/u014597198/article/details/77852483
Qt windeployqt.exe 打包qml:https://blog.51cto.com/u_15707179/6102502
2.3 制作程序安装包
完成上述准备工作之后,就可以执行命令制作安装包!
-
- 在对应的路径下执行
binarycreator
命令
binarycreator -c config\config.xml -p packages MyInstaller.exe
- 在对应的路径下执行
-
- 生成
MyInstaller.exe
,双击即可打开进行安装
- 生成
-
- 完结!