一、官网的介绍部分网址

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. Struts2基础-2 -实现Action接口创建Action控制器

    1.新建一个web项目,目录结构如下,添加jar包到lib文件夹里,并把jar包add 到 buildpath里面 2.web.xml配置 struts2的过滤器类:StrutsPrepareAndE ...

  2. FPGA学习的一些误区

    转载自网络,作者不详. 我常年担任多个有关FPGA学习研讨的QQ群管理员,长期以来很多新入群的菜鸟们总是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是 ...

  3. Python基础教程(013)--一行代码不要做多件事情

    前言 学习代码编写风格 内容 语法错误报错的信息 SystaxErrot:invalid syntax 语法错误, invalid 无效 每行代码负责完成一个动作 阅读代码,从左至右,从上到下. 学习 ...

  4. python中遍历列表字典元组

    遍历列表,打印:我叫name,今年age岁,家住dizhi,电话phone lt = [ {'name':'小王', 'age':18, 'info':[('phone', '123'), ('diz ...

  5. ANSI转义代码(ANSI escape code)

    ANSI escape code - Wikipedia linux 输出绿色的✓TRUE,红色的✗FALSE : echo -e "\x1B[1;32m✓TRUE \x1B[0mXXX&q ...

  6. android 关联某些后缀使用app打开

    <intent-filter> <action android:name="android.intent.action.VIEW" /> <categ ...

  7. POJ 1410 Intersection (计算几何)

    题目链接:POJ 1410 Description You are to write a program that has to decide whether a given line segment ...

  8. MFC绘图基础

    ·MFC中三种坐标系统: 1.屏幕坐标系 坐标原点位于屏幕左上角 2.(非客户区)窗口坐标系 坐标原点位于窗口左上角(包括标题栏) 3.客户区坐标系 坐标原点位于客户区左上角(不包括标题栏) ·坐标系 ...

  9. 未找到源文件:C:\loadrunner-11\urunner MSI\bin\icudt36.dll.o1d解决方法

    安装HP LoadRunner 11.00 未找到源文件:C:\loadrunner-11\urunner MSI\bin\icudt36.dll.o1d 下载loadrunner11 使用迅雷下载, ...

  10. javaIO流(二)--字节流与字符流

    一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...