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目录下就会看到生成的安装包。,双击打开就会打开安装向导。

相关推荐
Smile丶凉轩25 分钟前
技术栈RabbitMq的介绍和使用
c++·分布式·rabbitmq
点云SLAM32 分钟前
C++中string流知识详解和示例
开发语言·c++·istringstream·ostringstream·c++学习·stringstream·数据流操作
achene_ql8 小时前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
0x7CF9 小时前
QT3D学习笔记——圆台、圆锥
qt·学习·3d
SY师弟10 小时前
51单片机——计分器
c语言·c++·单片机·嵌入式硬件·51单片机·嵌入式
豪斯有话说11 小时前
C++_哈希表
数据结构·c++·散列表
real_metrix11 小时前
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
c++·迭代器·迭代器失效·erase
朝朝又沐沐11 小时前
基于算法竞赛的c++编程(18)string类细节问题
开发语言·c++·算法
a.30213 小时前
C++ 时间处理指南:深入剖析<ctime>库
数据结构·c++·算法
Dave_Young14 小时前
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
c++·设计模式