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

相关推荐
云泽80836 分钟前
二叉树高阶笔试算法题精讲(一):序列化、层序遍历、LCA 与 BST 转换
数据结构·c++·算法
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 98. 验证二叉搜索树 | C++ 指针边界法
c++·算法·leetcode
t***5441 小时前
如何在 Dev-C++ 中配置 Clang 编译器
开发语言·c++
白夜11171 小时前
静态库vs动态库
c++·笔记
小辉同志2 小时前
45. 跳跃游戏 II
c++·leetcode·游戏·贪心算法
海参崴-2 小时前
C++ 进阶篇 STL 模拟实现二叉搜索树
开发语言·c++
cpp_25012 小时前
P2871 [USACO07DEC] Charm Bracelet S
数据结构·c++·算法·动态规划·题解·洛谷·背包dp
郝学胜-神的一滴2 小时前
深入epoll反应堆模型:从libevent源码看高性能IO设计精髓
linux·服务器·开发语言·c++·网络协议·unix·信息与通信
_F_y2 小时前
C++11 异步操作实现线程池
java·jvm·c++
!停2 小时前
C++入门STL容器Vector使用基础,深挖 Vector替代 C 语言繁琐容器的利器
开发语言·c++