Qt Installer Framework翻译(7-6)

工具

Qt Installer Framework包含以下工具:
> installerbase
> binarycreator
> repogen
> archivegen
> devtool

installerbase

installerbase工具描述了核心安装程序本身。 所有数据和元信息都将打包到此二进制文件中。 对于安装程序的创建过程,您无需直接调用它。

binarycreator

使用binarycreator工具创建离线和在线安装程序。 组件信息和数据将附加到离线安装程序二进制文件中,从而使文件提取和安装脚本无需Internet连接即可工作。

在线安装程序存储包含数据的存储库的位置。 在启动时,它们加载组件信息,而不是数据。

您还可以创建混合安装程序,本地存储某些组件,并通过网络连接接收其他组件。 有关更多信息,请参见减小安装程序大小章节。

有关如何将数据集成到安装程序二进制文件中的信息,请参见QInstaller::BinaryContent。

注意:如果更改此配置,则必须重新编译installerbase工具。

使用binarycreator

您可以使用binarycreator工具创建离线和在线安装程序。 一些选项具有默认值,因此您可以忽略它们。

要创建离线安装程序(在Windows中),请输入以下命令:

> Windows:

<location-of-ifw>\binarycreator.exe -t <location-of-ifw>\installerbase.exe -p <package_directory> -c <config_directory>\<config_file> <installer_name>

> Linux and macOS

<location-of-ifw>/binarycreator -t <location-of-ifw>/installerbase -p <package_directory> -c <config_directory>/<config_file> <installer_name>

要创建仅在线安装程序,可以使用--online-only,定义要从Web服务器上的在线存储库安装的所有包:

> Windows:

<location-of-ifw>\binarycreator.exe -t <location-of-ifw>\installerbase.exe -p <package_directory> -c <config_directory>\<config_file> -e <packages> <installer_name>

> Linux and macOS

<location-of-ifw>/binarycreator -t <location-of-ifw>/installerbase -p <package_directory> -c <config_directory>/<config_file> -e <packages> <installer_name>

BinaryCreator参数总结

binarycreator工具接受以下参数:

参数 使用
-t or --template file 将file用作附加了组件信息的安装程序模板二进制文件。 如果省略此参数,则使用installerbase模板。
-p or --packages directory 使用directory作为包文件夹。 默认为当前工作目录。
--repository directory 将directory用作包含要重新打包的包的存储库目录。可以多次输入该条目。
-n or --online-only 编译没有任何组件的安装程序二进制包。
-f or --offline-only 创建永远不访问在线存储库的离线安装程序。
-c or --config file 把file作为配置文件。
-e or --exclude p1,...,pn 逗号分隔的包列表,从联机存储库检索。这些包不包含在安装程序二进制文件中。
-i or --include p1,...,pn 逗号分隔的包列表,从安装程序二进制文件中检索。您不能联合或合并使用--include和--exclude。
-r or --resources 以逗号分隔的资源列表,包含在安装程序二进制文件中。
--ignore-translations 禁用翻译文件以加快测试速度。
--ignore-invalid-packages 忽略没有有效元数据信息(package.xml)的组件或包目录,以加快测试速度。
--ignore-invalid-repositories 忽略没有有效元数据信息(Updates.xml)的存储库目录,而不是中止。
-v or --verbose 显示调试输出。
-s or --sign identity 仅在macOS上可用。 允许指定代码签名身份,用于对生成的应用程序包进行签名。

这些参数后跟目标二进制文件的名称以及可用于安装的包列表。

注意:除非您指定--nodeps参数,否则列出的包以及所有它们的依赖项和共享相同前缀的所有包都会包含在安装程序中。

在通过--resources参数指定的可选资源文件中,可以使用特殊的fonts/路径来传输自定义字体。 这些字体将自动加载,因此可以在通过StyleSheet变量指定的样式表中使用。

在Windows上,如果未指定扩展名,则目标二进制文件的名称将自动使用.exe扩展名。 在Mac上,目标将作为带有扩展名.app的应用程序捆绑包创建,如果未提供,则会自动添加该扩展名。 此外,您可以指定.dmg扩展名,以创建包含.app捆绑包的DMG磁盘映像文件。

使用图标

在macOS上,如果目标二进制文件带有.app后缀,则会创建一个macOS应用程序捆绑包。 您在config.xml中指定的图标后缀为.icns,并用作创建的包的图标。

在Windows上,您在config.xml中指定的图标后缀为.ico,并用作.exe文件的应用程序图标。

在Linux上,您在config.xml中指定的图标后缀为.png,并用作窗口图标。

repogen

使用repogen工具生成在线存储库。

repogen工具希望以下参数具有如下顺序:

repogen.exe -p <package_directory> <repository_directory>

创建存储库后,您可以将其上传到任何地方。 在创建安装程序时,必须在安装程序配置文件中指定该位置。

您可以使用现有存储库将包重新打包到另一个存储库或离线安装程序。

repogen参数总结

参数 使用
-p or --packages directory 使用directory作为包文件夹。 这是强制性的。
--repository directory 将directory用作包含要重新打包的包的存储库目录(不要与强制性目标存储库目录混淆)。 可以多次输入该条目。
repository directory 目标文件夹,用于存储库。 在初始安装期间,该目录必须尚未存在。 更新时,该目录可能存在,并且其内容可能会被覆盖或删除。 这是强制性的。
-e or --exclude p1,...,pn 逗号分隔的包列表,将从包目录中所有包的集合中忽略。
-i or --include p1,...,pn 逗号分隔的包列表,将从包目录中所有包的集合中选择并使用。
--update 更新packages目录中的所有包。 可以使用-i,-e参数进一步过滤该列表。
--update-new-components 仅更新新组件或具有较新版本的组件。 可以使用-i,-e参数进一步过滤该列表。
-r or --remove 强制删除现有目标目录,然后再次生成它。
-v or --verbose 显示调试输出。

注意:我们建议您使用--update-new-components(原文为--update-new-packages,我认为是错误的)参数来更新现有存储库,尤其是在具有内容交付系统的情况下。 这可以帮助您避免更新未更改的组件,并且使内容交付系统更轻松地仅分发新文件,因为仅为已更新的组件分配了新的SHA校验和。

archivegen

您可以使用archivegen将文件和目录打包到7zip(.7z)存档中。

archivegen工具希望以下参数具有如下顺序:

archivegen <name.7z> <data>

其中,<name.7z>是要创建的存档的路径和文件名,而包含要打包到存档中的文件或目录的路径和名称,以空格分隔。

devtool

您可以使用devtool,来通过新的installer base更新现有的安装程序或维护工具,将二进制内容从安装程序或维护工具转储到目标,并执行操作。 有关可用操作的总结,请参见操作章节。

devtool工具希望以下参数具有如下顺序:

devtool [options] binary

其中binary是现有安装程序或维护工具的路径和名称。

devtool参数总结

参数 使用
-?, -h, --help 显示帮助。
-v, --version 显示版本信息。
--verbose 显示附加信息。
--update 使用新的installer base来更新现有安装程序或维护工具。
--dump 将属于安装程序或维护工具的二进制内容转储到目标中。
--operation <mode,name,args,...> 执行带有参数列表的操作。
模式可以是DO或UNDO,具体取决于该步骤是否包含安装程序或卸载程序的说明。

原文地址:https://www.cnblogs.com/codeForFamily/p/qt-install-framework-translate-7-6.html

时间: 2024-10-08 09:13:03

Qt Installer Framework翻译(7-6)的相关文章

Qt Installer Framework翻译(5-4)

自定义安装程序 您可以使用脚本通过以下方式来自定义安装程序: > 添加Qt Installer Framework操作,该操作由脚本提供,并由安装程序执行. > 添加新页面,该页面由您在package.xml文件中指定,并将其放置在packages文件夹中. > 修改现有页面,通过插入自定义用户界面元素来作为子部件. > 添加语言变体. 您可以同时使用组件脚本和控制脚本来自定义安装程序.通过在组件的package.xml文件的Script元素中指定组件脚本,可以将该脚本与特定的组件

Qt Installer Framework翻译(4)

教程:创建安装程序 本教程描述如何为一个小项目创建一个简单的安装程序: 本节描述创建安装程序所必须完成的步骤: 创建一个包文件夹,其中将包含所有配置文件和可安装的包. 创建一个配置文件,其中包含有关如何构建安装程序二进制文件和联机存储库的信息. 创建一个包信息文件,其中包含可安装组件的信息. 创建安装程序内容,并将其复制到包文件夹. 使用binarycreator工具来创建安装程序. 通过使用您在配置文件和包信息文件中提供的信息来创建安装程序的各个页面. 示例文件位于Qt Installer F

Qt Installer Framework翻译(7-8)

C++ API C ++ API文档是为开发Qt Installer Framework的开发人员编写的. 它描述了内部API,因此没有兼容性保证. 此外,该文档尚在开发中,因此缺少部分内容,而其他部分可能已过时. 要创建自定义的安装程序,请改用Scripting API. 有关更多信息,请参见自定义安装程序章节. 命名空间 命名空间 描述 QInstaller 包含用于实现Qt Installer Framework和安装程序UI核心功能的类. KDUpdater 包含用于自动检测应用程序更新

Qt Installer Framework翻译(7-3)

控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许安装时无需人的参与. 脚本格式必须与QJSEngine兼容. 本节介绍为实现这种控制脚本而调用的函数功能.它还概述了安装程序页面以及每个页面上可用的小部件,例如按钮,单选按钮和行编辑. 编写控制脚本 最小的有效脚本至少需要包含一个构造函数,如下所示: function Controller() {

Qt Installer Framework翻译(7-7)

脚本API 下表总结了可以在控制器和组件脚本中使用的全局JavaScript对象. QMessageBox 提供一个模式对话框,通知用户或询问用户问题并接收答案 buttons 提供可在安装程序页面上使用的按钮 component 表示Qt脚本所属的当前组件 console 提供方法用于记录和调试 gui 启用与安装程序用户界面的交互 installer 提供对Qt Installer框架核心功能的访问 print 提供与QtScript的兼容性 QDesktopServices 提供访问常见桌

Qt Installer Framework翻译(6-0)

Qt安装程序框架示例 这些示例说明了如何使用组件脚本来自定义安装程序. Change Installer UI Example 使用组件脚本修改安装程序UI. Component Error Example 使用组件脚本来停止安装,如果无法安装组件 Dependency Solving Example 使用组件的package.xml文件定义组件之间的依赖关系和自动依赖关系 Dynamic Page Installer Example 使用组件脚本和动态页面来构建安装程序 Hide Checkb

Qt Installer Framework翻译(7-1)

配置文件 配置文件可自定义安装程序的用户界面和行为.该文件通常称为config.xml,位于config文件夹中. 最小配置文件由一个<Installer>根元素组成,<Name>和<Version>元素是其子元素.所有其他元素都是可选的,并且可以任意顺序出现. 以下示例显示了一个典型的配置文件: <?xml version="1.0"?> <Installer> <Name>Some Application<

Qt Installer Framework翻译(8)

好了,到这里翻译就结束了.各位可以下载源码,结合examples示例,使用repogen和binarycreator好好实操一下,就能掌握基础用法了.祝各位使用顺利. 官方文档网址:https://doc.qt.io/qtinstallerframework/index.html 官方软件网址:https://download.qt.io/official_releases/qt-installer-framework/ 有任何问题,可以联系我,请发QQ邮箱:[email protected].

Qt Installer Framework翻译(2)

开始 Qt IFW作为Qt项目的一部分进行开发.该框架自身也使用Qt.然而,它能被用于安装所有类型的应用程序,包括(但不限于)使用Qt编译的. 支持的平台 已在下列平台中进行了测试: > Microsoft Windows XP, and later > Ubuntu Linux 11.10, and later > OS X 10.7, and later 从源码编译 下面的步骤描述了如何编译IFW.你可以跳过这部分,因为你可以从官网下载已经编译好的可执行程序. 跳过了,老铁. 原文地