Qt Installer Framework翻译(5-2)
创建在线安装程序
联机安装程序获取二进制安装文件中的内容以及存储库描述(Updates.xml)。请创建一个存储库,并将其上传到Web服务器。然后在用于创建安装程序的config.xml文件中指定存储库的位置。
创建存储库
使用repogen工具创建一个package文件夹中所有包的在线存储库:
repogen.exe -p <package_directory> <repository_directory>
例如,要创建仅包含org.qt-project.sdk.qt和org.qt-project.sdk.qtcreator的存储库,请输入以下命令:
repogen.exe -p packages -i org.qt-project.sdk.qt,org.qt-project.sdk.qtcreator repository
存储库创建后,将其上传到Web服务器。您必须在安装程序配置文件中指定存储库的位置。
配置存储库
安装程序配置文件(config.xml)中的<RemoteRepositories>元素可以包含多个存储库的列表。每个存储库都可以有以下设置:
<Url>,它指向可用组件的列表。
<Enabled>,值为0表示禁用此存储库。
<Username>,受保护存储库上使用的用户名。
<Password>,受保护存储库上使用的密码。
<DisplayName>,可选项,使用字符串来代替URL。
URL需要指向列出可用组件的Updates.xml文件。例如:
<RemoteRepositories>
<Repository>
<Url>http://www.example.com/packages</Url>
<Enabled>1</Enabled>
<Username>user</Username>
<Password>password</Password>
<DisplayName>Example repository</DisplayName>
</Repository>
</RemoteRepositories>
仅当安装程序可以访问存储库时,才能正常工作。如果在安装后访问存储库,则维护工具将拒绝安装。但是,仍然可以卸载。默认情况下,可以启用或禁用存储库。对于需要身份验证的存储库,也可以在此处设置详细信息,尽管不建议在此处输入密码,因为它以明文形式保存。如果此处不设置身份验证用的信息,那么会在运行时以对话框的形式要求输入。用户可以在运行时解决这些设置。
配置存储库类别
安装程序配置文件(config.xml)中的元素可以包含多个元素的列表。 元素内的每个元素都被视为一个类别。每个类别都可以具有,,元素和一些元素。存储库类别显示在组件选择页面的左侧,作为一个组件组件选择部件:

默认情况下,组件选择部件中仅显示没有类别的存储库。检查一个或几个存储库,并点击Fetch按钮,将更新部件,以显示来自所选类别存储库的内容。存储库类别中的组件被标记为不稳定(unstable),这意味着您可以安装其他组件,尽管某些组件缺少依赖项,或者脚本错误等。有关不稳定组件的更多信息,请参阅配置文件元素总结章节。
创建存储库类别的示例:
<RepositoryCategories>
<RemoteRepositories>
<Displayname>Category 1</Displayname>
<Preselected>true</Preselected>
<Tooltip>Tooltip for category 1</Tooltip>
<Repository>
<Url>http://www.example.com/packages</Url>
<Enabled>1</Enabled>
<Username>user</Username>
<Password>password</Password>
<DisplayName>Example repository</DisplayName>
</Repository>
</RemoteRepositories>
</RepositoryCategories>
创建安装程序二进制文件
要使用binarycreator工具创建在线安装程序,请输入以下命令:
<location-of-ifw>\binarycreator.exe -t <location-of-ifw>\installerbase.exe -p <package_directory> -c <config_directory>\<config_file> -e <packages> <installer_name>
例如,输入以下命令以创建名为SDKInstaller.exe的安装程序二进制文件,该文件将不包含org.qt-project.sdk.qt和org.qt-project.qtcreator,因为这些包是从远程存储库下载的:
binarycreator.exe -p installer-packages -c installer-config\config.xml -e org.qt-project.sdk.qt,org.qt-project.qtcreator SDKInstaller.exe
减少安装程序大小
即使是从Web服务器获取组件,默认情况下,binarycreator也将它们添加到安装程序二进制文件中。但是,当安装程序检查Web服务器上的更新时,如果没有新版本可用,则用户无需下载。
或者,您可以创建一个不包含任何数据的在线安装程序,全部从Web服务器获取。使用binarycreator工具的-n参数,则仅添加根组件。通常根组件为空,因此仅添加根的XML描述。
有关所拥有选项的更多信息,请参见binarycreator参数总结章节。
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵

Qt Installer Framework翻译(5-2)的更多相关文章
- Qt Installer Framework翻译(5-4)
自定义安装程序 您可以使用脚本通过以下方式来自定义安装程序: > 添加Qt Installer Framework操作,该操作由脚本提供,并由安装程序执行. > 添加新页面,该页面由您在p ...
- Qt Installer Framework翻译(7-6)
工具 Qt Installer Framework包含以下工具: > installerbase > binarycreator > repogen > archivegen ...
- Qt Installer Framework翻译(3-1)
初始化安装 下图说明了安装应用程序的默认工作流程: 本节使用在macOS上运行的Your Application Installer示例来说明默认工作流程.安装程序具有本地化外观,并可感知每个受支持的 ...
- Qt Installer Framework翻译(1)
IFW概览 Qt Installer Framework 提供了一组工具和程序来创建安装程序,并在不重写源代码的情况下将它们部署到所有受支持的桌面 Qt 平台上.安装程序具有本地化外观,并且可以感知运 ...
- Qt Installer Framework翻译(4)
教程:创建安装程序 本教程描述如何为一个小项目创建一个简单的安装程序: 本节描述创建安装程序所必须完成的步骤: 创建一个包文件夹,其中将包含所有配置文件和可安装的包. 创建一个配置文件,其中包含有关如 ...
- Qt Installer Framework翻译(7-4)
组件脚本 对于每个组件,您可以指定一个脚本,来准备要由安装程序执行的操作.脚本格式必须与QJSEngine兼容. 构造 脚本必须包含安装程序在加载脚本时创建的Component对象. 因此,脚本必须至 ...
- Qt Installer Framework翻译(7-8)
C++ API C ++ API文档是为开发Qt Installer Framework的开发人员编写的. 它描述了内部API,因此没有兼容性保证. 此外,该文档尚在开发中,因此缺少部分内容,而其他部 ...
- Qt Installer Framework翻译(0)
本人主攻C++和Qt. 以前一直看人家的博客,找资料学习.今天我也终于开博客啦. 最近在研究Qt install framework(IFW)应用程序安装框架. google也没发现有正儿八经的官方文 ...
- Qt Installer Framework翻译(7-2)
包文件夹 安装程序包含的组件,要么是内嵌的,要么可以从远程存储库加载.在这两种情况下,都需要为组件使用一种安装程序可以读取的文件格式和结构. 包文件夹结构 将所有组件放在相同的根文件夹中,即包文件夹. ...
- Qt Installer Framework翻译(7-3)
控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许 ...
随机推荐
- 【t091】油滴扩展
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 在一个长方形框子里,最多有N(0≤N≤6)个相异的点.在其中任何一个点上放一个很小的油滴,那么这个油滴 ...
- 浅谈vue $mount()
Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 具体见代码: 顺便 ...
- 2018-8-10-win10-uwp-Window.Current.Dispatcher中Current为null
title author date CreateTime categories win10 uwp Window.Current.Dispatcher中Current为null lindexi 201 ...
- 【15.93%】【codeforces 672D】Robin Hood
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- Arcgis api for javascript学习笔记(3.2版本) - 匀速行驶轨迹动画效果
一.前言 有这样一个需求:已知某条线上的n个点的经纬度数组 ,实现物体运行轨迹. 如果这些点中两个距离很近,那么我们可以用一个定时器在地图上每次重新画一个点,这样肉眼看到这个点上的运动效果,如下图代码 ...
- python 多线程两种实现方式,Python多线程下的_strptime问题,
python 多线程两种实现方式 原创 Linux操作系统 作者:杨奇龙 时间:2014-06-08 20:24:26 44021 0 目前python 提供了几种多线程实现方式 thread,t ...
- 学习Java第二周
这是学习java的第二周,又这样不知不觉的结束了 上周想要学习的这一周也都做到了,可是觉得进度有些慢了,学习了: 1. 接口和抽象类: 2. 集合与数组: 3. 方法的定义: 4. 递归算法: 5.对 ...
- Eclipse 代码快捷键模板(一)
话不多说,自行google. 设置快捷键,打开eclipse,依次打开:Window -> Preferences -> General -> Key. 设置代码快捷键,打卡ecli ...
- 利用脚本运行APP
1.电脑安装Xcode(iOS)/Androidsdk(Android),连接手机,并在手机上安装相应代理,下图为iOS的Xcode代理样式: 2.打开Appium,点击搜索图标,添加并设置该手机信息 ...
- docker安装启动、配置MySql
1.安装mysql镜像 docker pull mysql/mysql-server 2.docker中启动Mysql容器 docker run --name mysql01 -d -p 3306:3 ...