一、官网的介绍部分网址

http://doc.qt.io/qtinstallerframework/ifw-overview.html

二、安装界面介绍

2.1 安装界面流程

介绍>>选择路径>>选择组件>>接收协议>>选择窗口程序组(注册表名字)>>安装
 

2.2 组件增加流程

开始>>选择额外组件>>安装
 

2.3 组件删除流程

开始>>删除
 

2.4更新组件

开始>>选择要升级的组件>>安装
 

三、目录和文件结构介绍

3.1 config目录

以tutorial为例,在config子目录下,有config.xml文件,该文件用来自定义向导UI和行为。
    <?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>你开发的软件的名字</Name>
<Version>1.2.3</Version>
<Title>安装向导的名字</Title>
<Publisher>版权所有方名字(比如你的公司)</Publisher>
<StartMenuDir>开始菜单的名字</StartMenuDir>
<TargetDir>缺省的指定安装目录</TargetDir>
</Installer>

官网的config介绍

<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>如果开启更新,就可以用
<Licenses>许可证
<Default>选的组件如何运行的方式?这里用了scrip
<Script>JavaScript script file脚本名字
DisplayName:能被人类读的组件名字,
Description:组件的描述
Version:版本号
ReleaseDate:组件发布的版本日期,必须
Name:组件的身份标识,必须
Dependencies:组件的依赖,用逗号分隔列表,用横杠区分版本号,用&lt代替"<"
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学习的更多相关文章

  1. Qt Installer Framework的学习(三)

    Qt Installer Framework的学习(三) Qt Installer Framework的样例中.通常是这种:config目录一般放了一个config.xml文件,包括的是安装配置xml ...

  2. Qt Installer Framework的学习(二)

    Qt Installer Framework的学习(二) Qt Installer Framework的一些操作能够使用最常见的Qt项目来表示,也就是说,书写pro文件,使用qmake执行之,除了能够 ...

  3. Qt Installer Framework的学习

    Qt Installer Framework是Qt默认包的发布框架.它很方便,使用静态编译Qt制作而成.并且使用了压缩率很高的7z对组件进行压缩.之所以有这些好处,我才觉得值得花一点儿精力研究一下这个 ...

  4. 使用Qt installer framework制作安装包

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  5. Qt Installer Framework 使用说明(三)

    目录 6.Qt Installer Framework 示例 7.参考 Reference 配置文件 Configuration File 配置文件元素的简要说明 Summary of Configu ...

  6. Qt Installer Framework 使用说明(二)

    目录 4.教程: 创建一个安装程序 创建软件包目录 创建配置文件 创建程序包信息文件 指定组件信息 指定安装程序版本 添加许可证 选择默认内容 创建安装程序内容 创建安装程序二进制文件 5.创建安装程 ...

  7. Qt Installer Framework 使用说明(一)

    目录 Qt Installer Framework 使用说明 1.Qt Installer Framework概述 选择安装包类型 促进更新 提供安装内容 2.入门指南 支持的平台 从源代码构建 支持 ...

  8. Qt Installer Framework实战

    Qt Installer Framework是Qt发布的安装程序支持框架,只需要简单的配置就可以生成安装文件,同时可以通过javascript脚本来定制安装过程. 目录结构 config packag ...

  9. 使用Qt Installer Framework制作软件安装包

    概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作 ...

随机推荐

  1. Spring框架之接口实现覆盖(接口功能扩展)

    在日常开发中,存在着这种一种场景,框架对接口A提供了一个种默认的实现AImpl,随着需求的变更,现今AImpl不能满足了功能需要,这时,我们该怎么办? 当然是修改AImpl的实现代码了,但是,如果它是 ...

  2. 多线程模拟生产者消费者示例之Lock

    public class Test { public static void main(String[] args) { List<String> list = new ArrayList ...

  3. Kafka数据如何同步至MaxCompute之实践讲解

    摘要:本次分享主要介绍Kafka产品的原理和使用方式,以及同步数据到MaxCompute的参数介绍.独享集成资源组与自定义资源组的使用背景和配置方式.Kafka同步数据到MaxCompute的开发到生 ...

  4. HTML基础知识笔记摘要

    HTML互联网三大基石:1.HTML:显示数据2.HTTP:传输数据 http传输协议3.URL:定位数据协议://ip地址或主机名:端口/网络中的内容... HTML(hyper text make ...

  5. nofollow标签的作用 nofollow标签添加方法

    这篇文章主要介绍了nofollow标签的作用 nofollow标签添加方法,需要的朋友可以参考下   nofollow标签的作用 nofollow标签添加方法  模拟搜狗蜘蛛   nofollow标签 ...

  6. AngularJS ng-model 指令

    AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值. 代码示例如下: <!DOCTY ...

  7. 23-25 October in 614

    Practice sort 给定一系列形如 \(A<B\) 的不等关系,判断前 \(k\) 个不等关系是否即可确定 \(n\) 个元素之间的大小顺序:如果不可确定,判断前 \(k\) 个不等关系 ...

  8. html标签内部简单加js 一维数组求最大值 最小值两个值位置和数字金字塔图形

     html标签内部,简单加js <a href=""></a><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  9. 从xxxx检测到有潜在危险的 Request.Form 提示黄页

    相信很多朋友都遇到过"从客户端xxxxxx"检测到有潜在危险的 Request.Form 然后给一个黄页提示.然后检测代码又找不到错误的代码提示. 原因:是因为在页面里边使用了富文 ...

  10. python接口自动化测试三十五:用BeautifulReport生成报告

    GitHub传送门:https://github.com/TesterlifeRaymond/BeautifulReport 配置BeautifulReport 下载.解压并修改名字为Beautifu ...