Qt程序打包成安装包exe

2023-05-16

本章介绍把Qt开发的程序打包成安装包的方法,程序打包成install.exe,可双击安装,有默认安装路径,也可以选择安装目录,自动生成桌面快捷方式和开始菜单选项,可以在操作系统–>设置–>应用程序里看到,可卸载。

目录

  • 打包步骤
  • 安装包安装效果

资源下载
需要的资源和目录结构已经打包上传,下载地址:https://download.csdn.net/download/weixin_40355471/87087830?spm=1001.2014.3001.5503
打包前准备
1、QT程序发布
QT程序先发布在一个文件夹里,QT程序发布方法参考:Qt发布软件,windows和linux系统。

2、安装Qt程序发布依赖包:QtInstallerFramework-win-x86.exe

打包步骤

1、将需要打包的程序文件夹放到 install\packages\org.qtproject.ifw.example\data。
2、修改 install/config/config.xml,是XML配置文件,字段含义见备注。

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>testSetup测试程序</Name><!-- 软件名称 -->
    <Version>1.0.0</Version>	<!--软件版本号 -->
    <Title>testSetup测试程序安装向导</Title><!-- 软件安装窗口显示标题 -->
    <Publisher>chw</Publisher>		<!-- 发布者 -->
    <!-- Directory name is used in component.xml -->
    <StartMenuDir>testSetup测试程序</StartMenuDir>	<!-- 要生成的windows开始菜单目录 -->
    <TargetDir>@HomeDir@/testSetup</TargetDir><!-- 默认安装路径 -->
</Installer>

3、修改 install/packages/org.qtproject.ifw.example/meta/installscript.qs。
这里创建桌面快捷方式和开始菜单

function Component()
{
    // default constructor
}

Component.prototype.createOperations = function()
{
    // call default implementation to actually install README.txt!
    component.createOperations();

	//appName.exe 为主程序名字,根据实际进行修改
    if (systemInfo.productType === "windows") {
		//创建开始菜单快捷方式
        component.addOperation("CreateShortcut", "@TargetDir@/testSetup/testSetup.exe", "@StartMenuDir@/testSetup.lnk",
            "workingDirectory=@TargetDir@/testSetup");
		//创建桌面快捷方式
		component.addOperation("CreateShortcut", "@TargetDir@/testSetup/testSetup.exe", "@DesktopDir@/testSetup.lnk",
            "workingDirectory=@TargetDir@/testSetup");
    }
}

4、生成安装脚本.bat(install同级目录),执行成功后会在install/目录下生成install.exe,即安装包。
需要配置Qt Installer Framework的安装目录

rem @echo off

::binarycreator所在路径需要根据实际情况即Qt Installer Framework安装路径下的bin目录
SET PATH=%PATH%;C:\Qt\QtIFW-3.2.2\bin


::设置打包文件夹路径(该路径下包含config和packages两个子文件夹)
set PACK_INSTALL_PATH=%cd%\install


echo 切换路径到%PACK_INSTALL_PATH%
::切换路径到安装打包路径
cd %PACK_INSTALL_PATH%

echo 生成安装包
binarycreator.exe -c config/config.xml -p packages install.exe -v
echo **************************生成安装包结束***************************

cd %~dp0

rem rd /s /q ..\compline

pause


安装包安装效果

在这里插入图片描述
选择安装目录
在这里插入图片描述
选择组建
在这里插入图片描述
创建开始菜单
在这里插入图片描述
开始安装
在这里插入图片描述
桌面快捷方式
在这里插入图片描述
开始菜单
在这里插入图片描述
运行程序
在这里插入图片描述

系统设置菜单可查,可以修改或卸载程序
在这里插入图片描述
PS:
1、在安装目录里生成maintenancetool.exe文件,双击可以添加或移除组建、卸载程序等。
2、配置文件里的@HomeDir@是当前windows登录用户的家目录。
3、配置文件里的@TargetDir@是程序的安装目录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt程序打包成安装包exe 的相关文章

随机推荐

  • 图像融合(Image Fusion)简介

    图像融合 Image Fusion 是用特定的算法将两幅或多幅图像综合成一幅新的图像 融合结果由于能利用两幅 或多幅 图像在时空上的相关性及信息上的互补性 xff0c 并使得融合后得到的图像对场景有更全面 清晰的描述 xff0c 从而更有利
  • IP地址分类

    大家好呀 xff0c 我是请假君 xff0c 今天又来和大家一起学习数通了 xff0c 今天要分享的知识是IP地址的分类 各个网段内具有的IP节点数各不相同 xff0c 为了适应这种需求 xff0c IP地址被分成五类 1 A类IP地址的第
  • 解决映射网络驱动器自动断开问题

    解决映射网络驱动器自动断开问题 hzq0201 2012 04 13 06 47 36 2777 收藏 2 版权 映射的网络驱动器在一段时间自动断开 xff0c 是由于服务器服务自动断开连接功能的默认超时期限造成的 xff0c 我们可以通过
  • vector深度探索

    声明 xff1a 本文中所有图件都来自B站侯捷老师授课视频 vecctor 底层实现原理 图1 GNU2 9 实现的容器vector vector 的内存是动态增长的 xff0c vector 最重要的三个成员变量为 三个迭代器 xff1a
  • 发送一个http请求以及url三部分组成和语法

    浏览器从URL中解析出服务器的主机名浏览器讲服务器的主机名转化成服务器的IP地址 xff08 DNS解析 xff09 浏览器将端口号从URL解析出来浏览器建立一条鱼web服务器的TCP连接浏览器向服务器发送一条http请求报文服务器向浏览器
  • 结构体对齐规则

    结构体 xff1a 结构体 xff08 struct xff09 是由一系列具有相同类型或不同类型的数据构成的集合 因为这一特性 xff0c 方便了开发者在使用的过程中可以将需要的不同的数据类型放在一起 xff0c 做成我们需要的数据类型
  • GPS坐标用于机器人定位的简单处理

    文章目录 前言一 GPS数据格式二 GPS坐标转换二维坐标原理三 参考代码1 转换经纬度格式2 解析通过串口获得的NMEA数据3 将经纬度转换为xy平面二维坐标 前言 最近工作上面接触使用GPS的NMEA数据为机器人提供平面坐标定位 xff
  • 学完C++基础后再学什么?

    学完 xff1f 那是什么程度 xff1f STL用得熟练吗 xff1f 算法和数据结构掌握得怎么样呢 xff1f 会写界面吗 xff1f BOOST呢 xff1f 像楼上所说的换一种语言 xff0c 简直是痴人说梦 xff0c 如果不深入
  • 视觉SLAM十四讲:回环检测-知识点+代码

    目录 基于外观的几何关系1 基础知识1 1 准确率和召回率1 2 词袋模型1 3 字典1 4 字典的数据结构1 5 相似度的计算1 6 相似度评分的处理1 7 检测回环后的验证 2 实践与代码解析2 1 创建字典2 2 相似度计算 回环检测
  • QT笔记--QT内类的层次关系,以及控件从属关系

    QT窗口界面使用的类层次如下 只包含了直接使用部分 界面上每一个创建的控件 xff0c 都是一个控件类的对象 xff0c 定义在头文件ui mainwindoow h的类UI MainWindow中 xff0c 并且其中的成员函数setup
  • C_带参数的宏定义

    C 带参数的宏定义 xff23 语言允许宏带有参数 在宏定义中的参数称为形式参数 xff0c 在宏调用中的参数称为实际参数 对带参数的宏 xff0c 在调用中 xff0c 不仅要宏展开 xff0c 而且要用实参去代换形参 带参宏定义的一般形
  • 十进制数转换成十六进制数~C语言

    include lt stdio h gt 下面将整数a转换成十六进制输出的字符串 原理 xff1a 1 xff0c 首先知道0b100000 61 0b10000 2 61 0b1000 2 61 0b100 2 61 0b10 2 利用
  • Qt实现线程安全的单例模式

    实现方式 1 实现单例 把类的构造函数 拷贝构造函数 赋值操作符定义为private的 xff1b 把获取单例的接口和唯一的实例指针定义为static的 xff0c 不需要实例化 xff0c 直接通过类名即可访问 2 支持多线程 采用双重校
  • 文本文件和二进制文件的差异和区别

    广义上的二进制文件包括文本文件 xff0c 这里讨论的是狭义上的二进制文件与文本文件的比较 xff1a 能存储的数据类型不同 文本文件只能存储char型字符变量 二进制文件可以存储char int short long float 各种变量
  • Qt实现记录日志文件log

    概述 Qt有两种实现记录日志的方式 xff0c 第一种是安装自定义的Qt消息处理程序 xff0c 自动输出程序产生的调试消息 警告 关键和致命错误消息的函数 xff1b 第二种是自定义一个类 xff0c 可以在程序指定位置打印输出指定的内容
  • Qt在linux环境下调用动态库,pro工程文件加载库和QLibrary加载库两种方式

    QT调用动态库 xff0c 在编译时和运行时的方式不同 xff0c 编译时可在pro文件加载或使用QLibrary类加载 xff1b 运行时依赖环境变量 xff0c windows下直接把动态库拷贝到可执行文件目录即可 xff0c linu
  • linux下QT发布程序双击打不开解决方法

    现象 Qt开发的程序 xff0c 使用 终端可以打开 xff0c 双击却打不开 阶段一 右键可执行程序 xff0c 选择属性 xff0c 可执行程序类型如果是 application x sharedlib xff0c 在QT的pro文件添
  • Qt发起http请求,get和post方式,并接收响应数据

    目录 Qt发起http请求get xff0c 异步接收Qt发起http请求post xff0c 异步接收Qt发起http请求get和post xff0c 收发同步http下载网络图片 Qt发起http请求get xff0c 异步接收 get
  • QT实现浏览器访问网页,使用QWebEngineView

    支持访问网页 xff0c 前进 后退 刷新 xff0c 点击超链接自动跳转 xff0c 获取网页鼠标事件 xff0c 重新编译QWebEngineView库后还可以支持播放mp4等视频 xff1b Qt在debug模式运行有时访问网页很卡
  • Qt程序打包成安装包exe

    本章介绍把Qt开发的程序打包成安装包的方法 xff0c 程序打包成install exe xff0c 可双击安装 xff0c 有默认安装路径 xff0c 也可以选择安装目录 xff0c 自动生成桌面快捷方式和开始菜单选项 xff0c 可以在