qt几种常见安装包制作工具-Qt Installer Framework

news2025/1/15 21:07:09

Qt Installer Framework(简称:QtIFW)概述

QtIFW提供了一组工具和实用程序,可以一次性创建安装程序,并在所有支持的桌面Qt平台上部署它们,而无需重写源代码。安装程序将在运行它们的平台上具有本机外观和感觉:Linux,Microsoft Windows和macOS。QtIFW是作为Qt项目的一部分开发的,框架本身使用Qt。然而,它可以用于安装所有类型的应用程序,包括(但不限于)使用Qt构建的应用程序。

Qt安装程序框架工具生成安装程序,其中包含一组页面,在安装,更新或卸载过程中指导用户。您可以提供可安装的内容并指定有关它的信息,例如产品和安装程序的名称以及许可协议的文本。

您可以通过向预定义页面添加小部件或添加整个页面来自定义安装程序,以便为用户提供其他选项。您可以创建脚本以向安装程序添加操作。

选择安装程序类型

你可以为最终用户提供离线/在线安装程序,具体取决于你的使用案例。
在这里插入图片描述

两个安装程序都安装一个维护工具,以后可用于添加,更新和删除组件。离线安装程序包含所有可安装组件,并且在安装期间不需要网络连接。联机安装程序仅安装维护工具,然后从Web服务器上的联机存储库下载和安装组件。

下载QtIFW

官网下载

这里我选择了最新版本4.5.2,如图所示:
在这里插入图片描述

注意:安装好后可将“C:\QtIFW-4.5.2\bin”(路径根据实际情况来)添加到环境变量,方便cmd使用binarycreator.exe。如何安装在这里就不做介绍了,傻瓜式安装即可~

创建安装程序

本节介绍创建安装程序必须完成的以下任务:

  1. 创建一个包含所有配置文件和可安装包的包目录。
  2. 创建一个配置文件,其中包含有关如何构建安装程序二进制文件和联机存储库的信息。
  3. 创建一个包信息文件,其中包含有关可安装组件的信息。
  4. 创建安装程序内容并将其复制到包目录。
  5. 使用该工具创建安装程序。binarycreator

安装程序页面是使用你在配置和包信息文件中提供的信息创建的。

示例文件位于Qt安装程序框架存储库的目录中。examples\tutorial

创建包目录

创建一个目录结构,该结构反应安装程序的设计,并允许将来扩展安装程序。该目录必须包含config、packages子目录。

创建配置文件

在目录中,创建一个包含以下内容的调用文件:config.xml(放在config文件夹下)

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Your application</Name>
    <Version>1.0.0</Version>
    <Title>Your application Installer</Title>
    <Publisher>Your vendor</Publisher>
    <StartMenuDir>Super App</StartMenuDir>
    <TargetDir>@HomeDir@/InstallationDirectory</TargetDir>
</Installer>

标签含义解析:

  • Name:指定添加到页面名称和简介文本中的应用程序名称。
  • Version:指定应用程序版本号。
  • Title:指定标题栏上显示的安装程序名称。
  • Publisher:指定软件的发布者。
  • StartMenuDir:指定Windows“开始”菜单中产品的默认程序组的名称。
  • TargetDir:默认安装路径。

有关配置文件格式和可用元素的详细信息,请参阅配置文件。

创建包信息文件

在这个简单的场景中,安装程序只处理一个被调用的组件。要向安装程序提供有关组件的信息,请创建一个名为

<?xml version="1.0" encoding="UTF-8"?>
<Package>
    <DisplayName>The root component</DisplayName>
    <Description>Install this example.</Description>
    <Version>0.1.0-1</Version>
    <ReleaseDate>2010-09-21</ReleaseDate>
    <Licenses>
        <License name="Beer Public License Agreement" file="license.txt" />
    </Licenses>
    <Default>true</Default>
    <Script>installscript.qs</Script>
    <UserInterfaces>
        <UserInterface>page.ui</UserInterface>
    </UserInterfaces>
</Package>

标签含义解析:

  • DisplayName:指定组件列表中组件的名称。
  • Description:指定选择组件时显示的文本。
  • Version:指定安装程序版本(能够在更新可用时向用户提示更新)。
  • ReleaseDate:指定此组件版本发布的日期。
  • Licenses:指定包含许可证检查页面上显示的许可协议文本。
  • Default:指定默认情况下是否选择组件。
  • Script:指定要加载的脚本。
  • UserInterfaces:要加载的页面列表。

有关包信息文件格式和可用元素的详细信息,请参阅包信息文件语法。

创建安装程序内容

将你的程序打包好(具体如何打包这里不做介绍),然后放入data文件夹下。如果是多个组件的话,要分配好文件夹。

创建安装程序二进制文件

Windows:

binarycreator.exe -c config\config.xml -p packages YourInstaller.exe

Linux or macOS:

binarycreator.exe -c config\config.xml -p packages YourInstaller

安装程序在当前目录中创建,这样你就可以将其交付给最终用户了。
macOS:

binarycreator.exe -c config\config.xml -p packages YourInstaller

安装程序在当前目录中创建,这样你就可以将其交付给最终用户了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第四节 特殊权限SUID、SGID、SBIT

1.Set UID 简称 SUID 简称 SUID 限制与功能&#xff1a; SUID权限仅对二进制程序有效&#xff1b; 执行者对于该程序需要具有x的执行权限&#xff1b; 本权限仅在执行该程序的过程中有效&#xff1b;  执行者将具有该程序拥有者的权限 特殊权限SUID、SGID、SBIT 例&am…

【分布族谱】Zipf分布及其Python可视化

文章目录 zipf分布简介zipfian和zipf对象zipf分布到zeta分布的变化情况分布族谱图 zipf分布简介 #mermaid-svg-mG901pJXpTYFT7Bk {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-mG901pJXpTYFT7Bk .error-icon{fill:…

Spring Boot 如果防护 XSS + SQL 注入攻击

Spring Boot 如果防护 XSS SQL 注入攻击 XSS跨站脚本攻击XSS漏洞介绍XSS漏洞分类防护建议 SQL注入攻击SQL注入漏洞介绍防护建议mybatis是如何做到sql预编译的呢 SpringBoot中如何防止XSS攻击和sql注入创建Xss请求过滤类XssHttpServletRequestWraper把请求过滤类XssHttpServlet…

使用fork函数创建一个进程

pid_t fork(void) fork函数调用成功&#xff0c;返回两次 &#xff08;1&#xff09;返回值为0&#xff0c;代表当前进程是子进程 &#xff08;2&#xff09;返回值为非负数&#xff0c;代表当前进程是父进程 &#xff08;3&#xff09;调用失败&#xff0c;则返回-1 代码如…

【人工智能概论】 K折交叉验证

【人工智能概论】 K折交叉验证 文章目录 【人工智能概论】 K折交叉验证一. 简单验证及其缺点1.1 简单验证简介1.2 简单验证的缺点 二. K折交叉验证2.1 K折交叉验证的思路2.2 小细节2.3 K折交叉验证的缺点2.4 K折交叉验证的代码 一. 简单验证及其缺点 1.1 简单验证简介 简单验…

join 语句使用

目录 前言 创建数据 知识点补充 Join算法Index Nested-Loop 小结&#xff1a; Join算法Block Nested-Loop join_buffer放不下驱动表情况 小结&#xff1a; 小表是什么&#xff1f; 总结&#xff1a; 参考内容 前言 在实际开发中&#xff0c;我们一般会有两类问题&a…

腾讯云2核4G服务器5M带宽轻量CPU性能、流量和系统盘测试

腾讯云轻量应用服务器2核4G5M配置&#xff0c;自带5M公网带宽&#xff0c;5M带宽下载速度峰值可达640KB/秒&#xff0c;系统盘为60GB SSD盘&#xff0c;每月500GB流量包&#xff0c;折合每天16GB流量。腾讯云百科来详细说下腾讯云轻量应用服务器2核4G5M配置、CPU型号处理器主频…

威联通nas服务器中勒索病毒被encrypted勒索病毒攻击怎么办有哪些预防措施

威联通是一家专业提供网络存储设备和应用方案的公司&#xff0c;旗下NAS服务器因为实用、多功能而深受用户喜欢&#xff0c;但是NAS服务器在使用过程中也面临许多安全问题&#xff0c;例如被encrypted勒索病毒攻击。下面将为大家介绍encrypted勒索病毒在威联通NAS服务器上的危害…

黑马---Redis入门到实战【实战篇】

一、短信登录 基于session实现短信登录的流程 实现发送短信验证码功能 发送验证码功能&#xff1a; Overridepublic Result sendCode(String phone, HttpSession session) {//1.校验手机号if(RegexUtils.isPhoneInvalid(phone)){//2.如果不符合&#xff0c;返回错误信息return…

Java 基础进阶篇(十三)—— 异常处理机制

文章目录 一、异常概述、体系二、异常的分类三、异常的默认处理流程四、异常的处理机制4.1 编译时异常的处理机制4.1.1 方式一&#xff1a;抛出异常4.1.2 方式二&#xff1a;捕获异常4.1.3 方式三&#xff1a;前两者结合 4.2 运行时异常的处理机制 五、自定义异常5.1 自定义编译…

程序员面试金典10.*

文章目录 10.1合并排序的数组10.02变位词组10.03搜索旋转数组10.05稀疏数组搜索10.09排序矩阵查找10.10 数字流的秩10.11 峰与谷 10.1合并排序的数组 这个就从后往前加入到新数组里就行。如果B的下标是-1则结束&#xff0c;A的下标是-1则一直加B的元素。 class Solution { pub…

挑战14天学完Python---初识python基本图形绘制

往期文章 目录 往期文章前言1."Python蟒蛇绘制"实例2.Python标准库 之turtle库3. 面向对象编程风格3.1 import更多玩法3.1.1使用from和import保留字共同完成3.1.2 使用import和as保留字共同完成 4.turtle的原(wan)理 (fa)4.1 turtle绘图窗体布局---turtul.setup()4.2…

京东小程序折叠屏适配探索 | 京东云技术团队

前言 随着近年来手机行业的飞速发展&#xff0c;手机从功能机进入到智能机&#xff0c;手机屏幕占比也随着技术和系统的进步越来越大&#xff0c;特别是Android 10推出以后&#xff0c;折叠屏逐渐成为Android手机发展的趋势。 图 1 Android手机屏幕发展趋势 京东小程序近年来…

Python程序员辞职后,如何踏出自由职业的第一步,聊聊我自己的看法

大家好&#xff0c;我是兴哥。有个广州的朋友说他辞职了&#xff0c;想要自由职业该怎么开始第一步呢&#xff1f;我问他你之前的收入月薪是多少&#xff0c;他说2万出头。我不得不说&#xff0c;对于写项目的自由职业程序员&#xff0c;2万是一个极高的门槛。但既然他已经辞职…

第三十章 React的路由基本使用

关于React路由&#xff0c;我们在学习之前先了解一下其他知识点&#xff1a;SPA应用、路由的理解、react中如何使用路由。 SPA应用的理解 我们知道React脚手架给我们构建的是一个单页应用程序&#xff08;SPA&#xff09;&#xff0c;在页面加载时&#xff0c;只会加载一个HT…

2.Redis入门概述

1.Redis是什么 Remote Dictionary Server(远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c; 是一个高性能的Key-Value数据库&#xff0c; 提供了丰富的数据结构&#xff0c;例如String、Hash、List、Set、SortedSet等等。 数据是存在内存中的&a…

学会这几个Word技巧,让你办公省时又省力(二)

Word是我们经常用到的办公软件&#xff0c;下面分享的几个小技巧&#xff0c;可以提高你的办公效率&#xff0c;一起看看吧。 1. 改变Word文档的背景颜色 有时候我们打开的Word文档是有颜色的&#xff0c;如果你想恢复白色背景&#xff0c;或者改成其他颜色&#xff0c;只…

《Linux 内核设计与实现》08. 下半部和推后执行的工作

文章目录 下半部软中断软中断的实现使用软中断 tasklettasklet 的实现使用 tasklet 工作队列工作队列的实现使用工作队列 下半部 中断处理程序的局限性&#xff1a; 中断处理程序以异步方式执行&#xff0c;并且可能打断其它代码&#xff0c;因此为了避免被打断的代码停止时间…

PR控制以及使用PR控制用于单相离/并网逆变器

文章目录 前言基本知识实际使用单相离网逆变器单相并网逆变器 PR控制器离散化基本知识 DSP实现总结 前言 最近想学习一下并网逆变器&#xff0c;需要用到PR控制&#xff0c;全网找遍了许多学习资料&#xff0c;终于掌握的差不多了&#xff0c;在此做个记录&#xff0c;以及个人…

【每日一题】23年4月

文章目录 C 技术点多边三角形剖分的最低得分&#xff08;dp思路&#xff0c;选不选问题&#xff09;移动石子到连续&#xff08;思路&#xff09;1027. 最长等差数列(动态规划)1105. 填充书架&#xff08;动态规划&#xff09;1031 两个非重叠子数组的最大和1163.按字典序排在最…