QT QIFW Linux下制作软件安装包

news2024/9/23 11:12:56

一、概述

和windows的操作步骤差不多,我们需要下装linux下的安装程序,然后修改config.xml、installscript.qs和package.xml文件。

QT QIFW Windows下制作安装包(一)-CSDN博客

一、下装QIFW

下装地址:/official_releases/qt-installer-framework 的索引icon-default.png?t=N7T8https://download.qt.io/official_releases/qt-installer-framework/

 三、config.xml

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>app</Name>
    <Version>1.0.0</Version>
	<Title>app Installer </Title>
    <Publisher>app</Publisher>
	<StartMenuDir>app</StartMenuDir>
    <TargetDir>@HomeDir@/app</TargetDir>
	<WizardStyle>Modern</WizardStyle>
</Installer>

四、package.xml 

<?xml version="1.0" encoding="UTF-8"?>
<Package>
    <DisplayName>app</DisplayName>
    <Description>需要安装的组件</Description>
    <Version>1.0.0-1</Version>
    <ReleaseDate></ReleaseDate>
    <Default>script</Default>
    <Script>installscript.qs</Script>
    <ForcedInstallation>true</ForcedInstallation>
</Package>

五、installscript.qs脚本

function Component()
{
}
 
function operationForLinux()
{	
	var params  =  "Name=app" + "\n";
	params += "Icon=@TargetDir@app/app.png" + "\n";
	params += "Version=@Version@" + "\n";
	params += "Exec=@TargetDir@/app/app.sh" + "\n";
	params += "Terminal=false" + "\n";
	params += "Encoding=UTF-8" + "\n";
    params += "Type=Application" + "\n";

	var desktop = "app.desktop";
 	component.addOperation("CreateDesktopEntry", "@TargetDir@/app.desktop", params);
	var desktoppath = QDesktopServices.storageLocation(0);
	component.addOperation("Copy", "@TargetDir@/app.desktop",  desktoppath + "/app.desktop"); 	
}

Component.prototype.createOperations = function()
{
    component.createOperations(); 
	operationForLinux();
}



六、打开终端,运行打包命令

打包命令:binarycreator程序路径 -f -c config/config.xml -p packages 安装包名称 -v

六、双击安装程序 

 

七、打开app

八、卸载软件

 1、找到软件的安装位置

2、运行卸载程序

3、进行卸载

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

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

相关文章

Layui继续学习

1、简单评论区代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>社区评论区</title> <link rel"stylesheet" href"https://cdn.staticfile.org/layui/2.6.8/css/…

数据结构与算法之美学习笔记:35 | Trie树:如何实现搜索引擎的搜索关键词提示功能?

目录 前言什么是“Trie 树”&#xff1f;如何实现一棵 Trie 树&#xff1f;Trie 树真的很耗内存吗&#xff1f;Trie 树与散列表、红黑树的比较解答开篇内容小结 前言 本节课程思维导图&#xff1a; 搜索引擎的搜索关键词提示功能&#xff0c;我想你应该不陌生吧&#xff1f;为…

消息可靠性保证

回顾RabbitMQ的消息传递过程 如图所示&#xff0c;发生消息丢失的可能阶段也就是生产者发送消息&#xff0c;时rabbitmq存储消息时&#xff0c;消费者消费消息时。项目源码&#xff1a;gitee 生产者发送消息阶段 生产者发送消息时把交换机名写错生产者发送消息时把routingK…

行为树保姆级教程(以机器人的任务规划为例

行为树 目录 什么是行为树(behavior tree)&#xff1f;行为树的相关术语 行为节点和控制节点不同类型的控制结点&#xff1a; 顺序节点选择节点并行节点装饰结点 机器人的例子&#xff1a;物体搜索 1&#xff1a;如果只存在一个地点A&#xff0c;那么行为树很简单&#xff0…

实验:BGP配置

1.实验目的&#xff1a; 本实验旨在掌握BGP协议的基本概念和配置方法&#xff0c;以及使用Packet Tracer模拟网络环境进行BGP配置的方法。 2.实验要求&#xff1a; 理解BGP协议的基本概念和原理&#xff1b;掌握BGP协议的配置方法&#xff1b;能够使用Packet Tracer模拟网络…

MyBatisPlus使用时报错Invalid value type for attribute ‘factoryBeanObjectType‘

目录 问题 探索过程 总结 问题 今天在学习MyBatisPlus过程中突然报了个错&#xff0c;信息如下 Invalid value type for attribute factoryBeanObjectType: java.lang.String Caused by: java.lang.IllegalArgumentException: Invalid value type for attribute factoryB…

json Deserialization of Python Objects

openweathermap.json {"coord": {"lon": 114.0683, "lat":22.5455},"weather":[ {"id": 803, "main":"Clouds", "description":"多云", "icon":"04d"}],"…

MacOS多屏状态栏位置不固定,程序坞不小心跑到副屏

目录 方式一&#xff1a;通过系统设置方式二&#xff1a;鼠标切换 MacOS多屏状态栏位置不固定&#xff0c;程序坞不小心跑到副屏 方式一&#xff1a;通过系统设置 先切换到左边 再切换到底部 就能回到主屏了 方式二&#xff1a;鼠标切换 我的两个屏幕放置位置如下 鼠标在…

R语言【rgbif】——什么是多值传参?如何在rgbif中一次性传递多个值?多值传参时的要求有哪些?

rgbif版本&#xff1a;3.7.8.1 什么是多值传参&#xff1f; 您是否在使用rgbif时设想过&#xff0c;给某个参数一次性传递许多个值&#xff0c;它将根据这些值独立地进行请求&#xff0c;各自返回独立的结果。 rgbif支持这种工作模式&#xff0c;但是具体的细节需要进一步地…

蓝牙物联网智慧物业解决方案

蓝牙物联网智慧物业解决方案是一种利用蓝牙技术来提高物业管理和服务效率的解决方案。它通过将蓝牙技术与其他智能设备、应用程序和云服务相结合&#xff0c;为物业管理和服务提供更便捷、高效和智能化的支持。 蓝牙物联网智慧物业解决方案包括&#xff1a; 1、设备管理&#…

Crypto基础之密码学

FLAG&#xff1a;20岁的年纪不该困在爱与不爱里&#xff0c;对吗 专研方向: 密码学&#xff0c;Crypto 每日emo&#xff1a;今年你失去了什么&#xff1f; Crypto基础之密码学 前言一、编码Base编码base64&#xff1a;Base32 和 Base16&#xff1a;uuencode&#xff1a;xxencod…

计算机网络——网络层——OSPF协议的介绍

什么是 OSPF &#xff1f; OSPF 是一个基于链路状态的自治系统内部路由协议&#xff0c;在 TCP/IP 的网络层中进行路由选择&#xff0c;常用于构建大型企业网络或者服务上的骨干网络。在互联网核心路由器之间也可以使用。 OSPF 概述 OSPF 使用的是 Dijkstra&#xff08;最短…

智能优化算法应用:基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黏菌算法4.实验参数设定5.算法结果6.参考文献7.MA…

记录 | mac打开终端时报错:login: /opt/homebrew/bin/zsh: No such file or directory [进程已完成]

mac打开终端时报错&#xff1a;login: /opt/homebrew/bin/zsh: No such file or directory [进程已完成]&#xff0c;导致终端没有办法使用的情况 说明 zsh 没有安装或者是安装路径不对 可以看看 /bin 下有没有 zsh&#xff0c;若没有&#xff0c;肯定是有 bash 那就把终端默…

QT- QT-lximagerEidtor图片编辑器

QT- QT-lximagerEidtor图片编辑器 一、演示效果二、关键程序三、下载链接 功能如下&#xff1a; 1、缩放、旋转、翻转和调整图像大小 2、幻灯片 3、缩略图栏&#xff08;左、上或下&#xff09;&#xff1b;不同的缩略图大小 4、Exif数据栏 5、内联图像重命名 6、自定义快捷方式…

JS加密/解密之JSX解密解析(photoshop插件)

简介 Adobe Photoshop 插件通常使用 JSX&#xff08;JavaScript XML&#xff09;脚本语言。这是一种基于JavaScript的扩展&#xff0c;专门设计用于处理Adobe Creative Suite&#xff08;包括Photoshop&#xff09;的任务。JSX脚本允许开发者编写自定义脚本以扩展和增强Photos…

【Eureka】自定义元数据消失原因?

【Eureka】自定义元数据运行很长一段时间后&#xff0c;自定义元数据&#xff08;scheduler.server.enabled&#xff09;偶尔会消失&#xff0c;但服务元数据信息还在 eureka是单节点的&#xff0c;这个应用服务也是单节点的 代码实现方式如下 我看过eureka服务的日志信息&…

在做题中学习(33):只出现一次的数字 II

137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 1.首先想到出现三次的数&#xff0c;它们仨的任意一位都是相同的&#xff08;1/0&#xff09; 2.可以发现出现三次的数的某一位和a某一位在所有情况下%3最后的结果都和a的那一位相同&…

06.迪米特法则(Demeter Principle)

明 嘉靖四十年 江南织造总局 小黄门唯唯诺诺的听完了镇守太监杨金水的训斥&#xff0c;赶忙回答&#xff1a;“知道了&#xff0c;干爹&#xff01;” “知道什么&#xff1f;&#xff01;&#xff01;” 杨金水打断了他的话&#xff0c;眼神突然变得凌厉起来&#xff1a; “有…

企业计算机服务器中了halo勒索病毒如何解密,halo勒索病毒恢复流程

网络技术的不断发展与应用&#xff0c;为企业的生产运营提供了极大便利&#xff0c;越来越多的企业使用数据库存储企业的重要数据&#xff0c;方便工作与生产&#xff0c;但网络是一把双刃剑&#xff0c;网络安全威胁一直存在&#xff0c;并且网络威胁的手段也在不断升级。在本…