当前位置: 首页 > news >正文

使用 Qt Installer Framework(IFW)进行打包

使用 Qt Installer Framework(IFW) 可以帮助你将 Qt 应用打包为跨平台的安装程序(例如 .exe.run.app 格式)。以下是使用 Qt Installer Framework 制作安装包的完整步骤:


✅ 一、准备工作

  1. 下载 Qt Installer Framework

    • 官网:https://download.qt.io/official_releases/qt-installer-framework/

    • 根据平台选择版本,例如 Windows 下是 .exe 安装器,Linux 下是 .run 文件。

  2. 安装 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


✅ 五、打包内容准备技巧

  1. 使用 windeployqt(Windows)或 macdeployqt 自动收集 Qt 依赖:

    windeployqt BridgeSys.exe 
  2. 手动将插件(如平台插件 platforms/qwindows.dll)、QML 库等复制到 data/ 目录。

  3. 如果你的配置目录是相对路径(如 ../../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 风格的界面,能够完成安装流程、创建快捷方式、选择路径等。

http://www.lryc.cn/news/602190.html

相关文章:

  • 网络安全第14集
  • 8.1 ESP32CAM 服务器 网络摄像头
  • 【mysql】—— mysql中的timestamp 和 datetime(6) 有什么区别,为什么有的地方不建议使用timestamp
  • 深入探索Linux:忙碌的车间“进程”间通信
  • 【Linux】基本指令(2)
  • Linux DNS解析1--终端通过网关或者路由器进行域名解析的原理
  • WAIC 2025深度解析:当“养虎”警示遇上机器人拳击赛
  • 设计模式(二十二)行为型:策略模式详解
  • 发布“悟能”具身智能平台,商汤让机器人像人一样和现实世界交互
  • 枚举策略模式实战:优雅消除支付场景的if-else
  • 时序数据基座升维:Apache IoTDB 以“端边云AI一体化”重构工业智能决策
  • 企业级JWT验证最佳方案:StringUtils.hasText()
  • 【学习路线】AI开发工程师成长指南:从机器学习基础到大模型应用
  • Ubuntu服务器上JSP运行缓慢怎么办?全面排查与优化方案
  • Python 列表内存存储本质:存储差异原因与优化建议
  • 【Linux | 网络】传输层(UDP和TCP) - 两万字详细讲解!!
  • 二级域名分发源码最新开源版
  • uni-datetime-picker兼容ios
  • 无界设计新生态:Penpot开源平台与cpolar的云端协同创新实践
  • CacheGen:用于快速大语言模型推理服务的 KV 缓存压缩与流式传输
  • 【Unity笔记】Unity Camera.cullingMask 使用指南:Layer 精准控制、XR 多视图与性能提升
  • Python + Requests库爬取动态Ajax分页数据
  • 云原生作业(haproxy)
  • 迅为RK3568开发板OpeHarmony学习开发手册-配置电源管理芯片和点亮HDMI屏幕-配置电源管理芯片
  • Vue2-封装一个含所有表单控件且支持动态增减行列的表格组件
  • 行业案例:杰和科技为智慧教育构建数字化硬件底座
  • vue如何在data里使用this
  • 【保姆级喂饭教程】Python依赖管理工具大全:Virtualenv、venv、Pipenv、Poetry、pdm、Rye、UV、Conda、Pixi等
  • 热门JavaScript库“is“等软件包遭npm供应链攻击植入后门
  • 【SpringMVC】MVC中Controller的配置 、RestFul的使用、页面重定向和转发