使用 Qt Installer Framework(IFW)进行打包
使用 Qt Installer Framework(IFW) 可以帮助你将 Qt 应用打包为跨平台的安装程序(例如 .exe
、.run
或 .app
格式)。以下是使用 Qt Installer Framework 制作安装包的完整步骤:
✅ 一、准备工作
下载 Qt Installer Framework
官网:https://download.qt.io/official_releases/qt-installer-framework/
根据平台选择版本,例如 Windows 下是
.exe
安装器,Linux 下是.run
文件。
安装 Qt IFW
安装后会有一个目录,如:
C:\Qt\QtIFW-4.7.0
其中包含工具:
binarycreator
:制作安装包installerbase
:基础安装器repogen
:生成在线安装源
✅ 二、创建安装包结构
假设你的应用叫 BridgeSys
,你希望将其打包为一个安装器。
1. 目录结构(推荐如下):
BridgeSysInstaller/ ├── config/ │ └── config.xml ├── packages/ │ └── com.ldw.bridgesys/ │ ├── meta/ │ │ ├── package.xml │ │ └── installscript.qs (可选) │ └── data/ │ ├── BridgeSys.exe │ ├── Qt DLLs │ └── config/
✅ 三、配置文件说明
1. config/config.xml
(安装器配置)
<Installer> <Name>BridgeSys Installer</Name> <Version>1.0.0</Version><Title>BridgeSys 安装器</Title> <Publisher>LDW Software</Publisher> <StartMenuDir>BridgeSys</StartMenuDir> <TargetDir>@RootDir@/BridgeSys</TargetDir>
</Installer>
2. packages/com.ldw.bridgesys/meta/package.xml
(包信息)
<Package> <DisplayName>BridgeSys 应用</DisplayName><Description>这是 BridgeSys 主程序</Description> <Version>1.0.0</Version> <ReleaseDate>2025-07-28</ReleaseDate><Default>true</Default><Script>installscript.qs</Script> <!-- 可选 -->
</Package>
3. installscript.qs
(可选:自定义安装逻辑)
function Component() {Component.prototype.createOperations = function() {component.createOperations(); // 例如创建快捷方式component.addOperation("CreateShortcut", "@TargetDir@/BridgeSys.exe", "@StartMenuDir@/BridgeSys.lnk"); }
}
✅ 四、构建安装器
命令行使用 binarycreator
Binarycreator -c config/config.xml -p packages BridgeSysInstaller.exe
参数说明:
-c
:指定 config.xml-p
:指定 packages 目录BridgeSysInstaller.exe
:生成的安装程序文件名(可为.run
,.app
)
✅ 五、打包内容准备技巧
使用
windeployqt
(Windows)或macdeployqt
自动收集 Qt 依赖:windeployqt BridgeSys.exe
手动将插件(如平台插件
platforms/qwindows.dll
)、QML 库等复制到data/
目录。如果你的配置目录是相对路径(如
../../config
),你可以打包后再用安装脚本将它复制到正确位置。
✅ 六、(可选)生成在线安装源
使用 repogen
工具可创建在线源:
repogen -p packages -i com.ldw.bridgesys -v 1.0.0 repository
然后你可以创建一个在线安装器,使用 --online-only
:
binarycreator --online-only -c config/config.xml -p repository online_installer.exe
✅ 七、运行与测试
运行打包好的 BridgeSysInstaller.exe
,你会看到 Qt Installer 风格的界面,能够完成安装流程、创建快捷方式、选择路径等。