QT制作程序安装包超详细教程

目录

一.打包发布应用程序

[二.使用QT Installer Framework制作安装包](#二.使用QT Installer Framework制作安装包)

[2.1下载Qt Installer Framework](#2.1下载Qt Installer Framework)

2.2添加环境变量

​2.3配置文件

2.3.1将之前打包的程序放在data文件夹

2.3.2修改配置

2.4最终生成安装包


一.打包发布应用程序

参考VS+QT发布程序详细步骤,以及遇到的问题-CSDN博客

二.使用QT Installer Framework制作安装包

2.1下载Qt Installer Framework

下载链接

Index of /official_releases/qt-installer-framework

选择最新版本

选择windows x64

下载好安装包后一直点击下一步即可(默认安装路径最好不要更改)

2.2添加环境变量

默认安装的路径在这里

C:\Qt\QtIFW-4.8.1\bin

后续我们需要使用到刚刚下载安装的框架中的binarycreator,所以需要将bin目录添加到环境变量中

2.3配置文件

配置文件从零开始步骤繁琐,我们可以利用Qt Installer Framework中提供的例子

此处使用startmenu这个例子。将startmenu内容复制一份在其他地方使用。

2.3.1将之前打包的程序放在data文件夹

将最最开始打包好的程序.exe以及同级目录所有的依赖文件放入D:\VSProject\test\packages\org.qtproject.ifw.example\data文件夹下

以我为例就是将打包好的下图所示文件

放入D:\VSProject\test\packages\org.qtproject.ifw.example\data

2.3.2修改配置

在config文件夹中有config.xml

<?xml version="1.0" encoding="UTF-8"?>

<Installer>

<Name>这里填写程序名称</Name>

<Version>这里填写版本号</Version>

<Title>这里填写标题:例如程序安装向导</Title>

<Publisher>版权所有者</Publisher>

<!-- Directory name is used in component.xml -->

<StartMenuDir>要生成的windows开始菜单目录</StartMenuDir>

<TargetDir>@HomeDir@/bms(这里代表的意思是默认安装路径)</TargetDir>

</Installer>

接下来修改包信息文件package.xml

<?xml version="1.0" encoding="UTF-8"?>

<Package>

<DisplayName>***测试程序</DisplayName>

<Description>仅供测试使用,版权归***所有.</Description>

<Version>1.0.0</Version>

<ReleaseDate>发布时间</ReleaseDate>

<Default>true</Default>

<Script>installscript.qs</Script>

</Package>

2.4最终生成安装包

搜索打开qt命令行界面,cd到刚刚的tset文件夹

使用该命令binarycreator.exe -c config/config.xml -p packages 你的程序名名称.exe -v

最后显示执行完毕。

在test目录下就会看到生成的安装包。,双击打开就会打开安装向导。

相关推荐
C++ 老炮儿的技术栈6 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl6 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628886 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
波特率1152007 小时前
const关键字与函数的重载
开发语言·c++·函数重载
干啥啥不行,秃头第一名7 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
2301_807367197 小时前
C++中的解释器模式变体
开发语言·c++·算法
2301_819414309 小时前
C++与区块链智能合约
开发语言·c++·算法
不想看见4049 小时前
Valid Parentheses栈和队列--力扣101算法题解笔记
开发语言·数据结构·c++
老约家的可汗10 小时前
C/C++内存管理探秘:从内存分布到new/delete的底层原理
c语言·c++
娇娇yyyyyy10 小时前
QT编程(13): Qt 事件机制eventfilter
开发语言·qt