Qt installer framework学习
一、官网的介绍部分网址
http://doc.qt.io/qtinstallerframework/ifw-overview.html
二、安装界面介绍
2.1 安装界面流程
2.2 组件增加流程
2.3 组件删除流程
2.4更新组件
三、目录和文件结构介绍
3.1 config目录
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>你开发的软件的名字</Name>
<Version>1.2.3</Version>
<Title>安装向导的名字</Title>
<Publisher>版权所有方名字(比如你的公司)</Publisher>
<StartMenuDir>开始菜单的名字</StartMenuDir>
<TargetDir>缺省的指定安装目录</TargetDir>
</Installer>
<Title>指定了显示在内容上的标题的安装名字
<NAME>是标题下面的文本框中的文字
<Version>指定应用的版本号
<Publisher>在控制面板中显示的名字
<StartMenuDir>开始菜单中的名字
<TargetDir>默认的指定目录,当前用户的目录下安装
个人理解
3.2 package文件夹目录
package文件夹的目录形式为
-packages
- com.vendor.root
- data
- meta
- com.vendor.root.component1
- data
- meta
- com.vendor.root.component1.subcomponent1
- data
- meta
- com.vendor.root.component2
- data
- meta
root相当于根节点控件,增加文件夹就是增加组件了
package文件夹下有data和meta两个文件夹,data是需要打包的组件内容,metal是一些控制脚本文件。
<?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>
<Name>com.vendor.product</Name>
<Licenses>
<License name="Beer Public License Agreement" file="license.txt" />
</Licenses>
<Default>script</Default>
<Script>installscript.qs</Script>
</Package>
DisplayName:能被人类读的组件名字,
Description:组件的描述
Version:版本号
ReleaseDate:组件发布的版本日期,必须
Name:组件的身份标识,必须
Dependencies:组件的依赖,用逗号分隔列表,用横杠区分版本号,用<代替"<"
AutoDependOn:
Virtual:设置为真隐藏安装组件,注意设置根组件上是无效的
SortingPriority:组件的优先级树,树的排序从高到底,高的在最顶上
Licenses:列出需要用户同意的license,用name和file指定license文件,支持ASCII和UTF8
Script:需要加载的脚本文件名
UserInterfaces:要加载的页列表,<UserInterface>子元素
Translations:国际化语言的列表文件
Updatetext:如何这个给组件更新的,那就把这个添加进描述中,可选。
Default:可以的值是true,false和script。设置true预选组件,这个只会影响没有子组件的组件。
false应该是关了,脚本在运行时解析。在<Script>增加脚本名字,
Essential:重启MaintenanceTool工具的必要条件,如果有一个可以更新的基本的组件,包管理器将保持禁用,直到该组件被更新。新引入的基本组件是在运行updater时自动安装的。
ForcedInstallation:确定必须安装的包,终端用户不能取消在安装过程中
Replaces:用逗号列出组件的替换,可选
DownloaddableArchives:在线安装需要下载的文件
RequiresAdminRights:如果设置为true,包安装需要在高权限下,可选
Checkable:如果你想要隐藏checkbox的item,选择false。当只要选择部分子组件时,会很有效
3.3 script文件
必须包含
function Component() { // constructor }
此处为安装的程序,在开始菜单处设置连接;
//"@TargetDir@/sunshine.exe"指定exe的路径,//"@StartMenuDir@/sunshine.lnk"指定链接
Component.prototype.createOperations = function()
{
// call default implementation to actually install README.txt!
component.createOperations(); if (installer.value("os") === "win") {
component.addOperation("CreateShortcut", "@TargetDir@/test.exe", "@StartMenuDir@/test.lnk");
}
}
四、构建安装包
<location-of-ifw>\binarycreator.exe -t <location-of-ifw>\installerbase.exe -p <package_directory> -c <config_directory>\<config_file> <installer_name>
我的使用方法:
C:\Qt\QtIFW2.0.3\bin>binarycreator.exe -p ./Mytutorial/packages -c ./Mytutorial/config/config.xml WeiHua_NetWork_Windows_2018.1.26.exe
五、配置依赖文件
从开始菜单-->Qt 5.7.0-->5.7-->MinGW 5.3.0 (32-bit)-->Qt 5.7 for Desktop (MinGW 5.3.0 32 bit),可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。
windeployqt myapp.exe
Qt installer framework学习的更多相关文章
- Qt Installer Framework的学习(三)
Qt Installer Framework的学习(三) Qt Installer Framework的样例中.通常是这种:config目录一般放了一个config.xml文件,包括的是安装配置xml ...
- Qt Installer Framework的学习(二)
Qt Installer Framework的学习(二) Qt Installer Framework的一些操作能够使用最常见的Qt项目来表示,也就是说,书写pro文件,使用qmake执行之,除了能够 ...
- Qt Installer Framework的学习
Qt Installer Framework是Qt默认包的发布框架.它很方便,使用静态编译Qt制作而成.并且使用了压缩率很高的7z对组件进行压缩.之所以有这些好处,我才觉得值得花一点儿精力研究一下这个 ...
- 使用Qt installer framework制作安装包
一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...
- Qt Installer Framework 使用说明(三)
目录 6.Qt Installer Framework 示例 7.参考 Reference 配置文件 Configuration File 配置文件元素的简要说明 Summary of Configu ...
- Qt Installer Framework 使用说明(二)
目录 4.教程: 创建一个安装程序 创建软件包目录 创建配置文件 创建程序包信息文件 指定组件信息 指定安装程序版本 添加许可证 选择默认内容 创建安装程序内容 创建安装程序二进制文件 5.创建安装程 ...
- Qt Installer Framework 使用说明(一)
目录 Qt Installer Framework 使用说明 1.Qt Installer Framework概述 选择安装包类型 促进更新 提供安装内容 2.入门指南 支持的平台 从源代码构建 支持 ...
- Qt Installer Framework实战
Qt Installer Framework是Qt发布的安装程序支持框架,只需要简单的配置就可以生成安装文件,同时可以通过javascript脚本来定制安装过程. 目录结构 config packag ...
- 使用Qt Installer Framework制作软件安装包
概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作 ...
随机推荐
- git 配置(实用)
将公钥添加进入即可 码云是添加私钥(注意!!!!) 这个时候Git就配置好了 git clone ssh协议的仓库 就可以直接拉代码了
- BZOJ 2281: [Sdoi2011]黑白棋(dp+博弈论)
传送门 解题思路 首先发现可以把相邻的黑白棋子之间的距离看成一堆棋子,那么这个就可以抽象成\(Nim\)游戏每次可以取\(d\)堆这个游戏,而这个游戏的\(SG\)值为\(x\%(d+1)\),那么题 ...
- AcWing 248. 窗内的星星 (扫描线)打卡
题目:https://www.acwing.com/problem/content/250/ 题意:给你n个点,现在问你能每个点都有个权值,问你能覆盖最多的权值是多少,边界不算 思路:这个其实和我之前 ...
- error MSB8008: 指定的平台工具集(v110)未安装或无效
转自VC错误:http://www.vcerror.com/?p=318 问题描述: 平台工具集(v110)是vs2012下用的,你是用vs2010打开工程,它默认是用v100, 所以这个工程可能用v ...
- jQuery设置checkbox 为选中状态
1设置第一个checkbox 为选中值$('input:checkbox:first').attr("checked",'checked');或者$('input:checkbox ...
- MySQL分表备份
#!/bin/bash DUMP=/usr/bin/mysqldump MYSQL=/usr/bin/mysql IPADDR=127.0.0.1 PORT=3306 USER=abc PASSWD= ...
- java反射(三)--反射与操作类
一.反射与操作类 在反射机制的处理过程之中不仅仅只是一个实例化对象的处理操作,更多的情况下还有类的组成的操作,任何一个类的基本组成结构:父类(父接口),包,属性,方法(构造方法,普通方法)--获取类的 ...
- 配置静态IP时候route没有设置的GATEWAY问题
今天在想把虚拟机里RHEL6.5设置成静态IP来着 在 /etc/sysconfig/betwork-scripts/ifcfg-eth0 文件中将"GATEWAY"拼写成了&qu ...
- RabbitMQ 在 Win10 环境下的安装与配置
1 RabbitMQ 环境配置 1.1 ErLang 下载安装 RabbitMQ 需要 ErLang 环境支持:首先下载 ErLang 并安装. 建议使用新版本,版本过低存在与 Rab ...
- JavaScript如何诞生
JavaScript之父谈语言诞生记 发表于2011-06-27 10:30| 9749次阅读| 来源ruanyifeng.com| 0 条评论| 作者阮一峰 prototypeprimitiveja ...