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

相关推荐
无限进步_1 小时前
二叉搜索树完全解析:从概念到实现与应用场景
c语言·开发语言·数据结构·c++·算法·github·visual studio
鱼跃厂长1 小时前
这份skill,能将你的简历提升到字节的水平!
c++·ai·ai编程
天若有情6732 小时前
逆向玩家狂喜!用C++野生写法一键破解线性加密(不规范但巨好用)
开发语言·c++·算法
咸鱼翻身小阿橙2 小时前
Qt QML调用C++注册类
java·c++·qt
CoderCodingNo2 小时前
【信奥业余科普】C++ 的奇妙之旅 | 19:内存的门牌号——地址与指针的设计原理
开发语言·c++
澈2072 小时前
C++ list容器完全指南
数据结构·c++·链表
kyriewen3 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
前端·c++·webassembly
承渊政道4 小时前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法