Qt Installer Framework翻译(7-2)

包文件夹

安装程序包含的组件,要么是内嵌的,要么可以从远程存储库加载。在这两种情况下,都需要为组件使用一种安装程序可以读取的文件格式和结构。

包文件夹结构

将所有组件放在相同的根文件夹中,即包文件夹。该文件夹的名称充当类似于域的标识符,用于标识所有组件。例如,com.vendor.root

在根文件夹中,创建名为datameta的子文件夹。

包文件夹结构如下所示:

-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

元文件夹

元文件夹包含多个文件,用于指定部署和安装过程的设置。安装程序不提取这些文件。该文件夹必须至少包含一个包信息文件,以及您在包信息文件中引用到的所有文件,例如脚本,用户界面文件和翻译文件。

包信息文件语法

package.xml文件是组件的主要信息来源。以下是示例:

<?xml version="1.0"?>
<Package>
    <DisplayName>QtGui</DisplayName>
    <Description>Qt gui libraries</Description>
    <Description xml:lang="de_de">Qt GUI Bibliotheken</Description>
    <Version>1.2.3</Version>
    <ReleaseDate>2009-04-23</ReleaseDate>
    <Name>com.vendor.root.component2</Name>
    <Dependencies>com.vendor.root.component1</Dependencies>
    <Virtual>false</Virtual>
    <Licenses>
        <License name="License Agreement" file="license.txt" />
    </Licenses>
    <Script>installscript.qs</Script>
    <UserInterfaces>
        <UserInterface>specialpage.ui</UserInterface>
        <UserInterface>errorpage.ui</UserInterface>
    </UserInterfaces>
    <Translations>
        <Translation>sv_se.qm</Translation>
        <Translation>de_de.qm</Translation>
    </Translations>
    <DownloadableArchives>component2.7z, component2a.7z</DownloadableArchives>
    <AutoDependOn>com.vendor.root.component3</AutoDependOn>
    <SortingPriority>123</SortingPriority>
    <UpdateText>This changed compared to the last release</UpdateText>
    <Default>false</Default>
    <ForcedInstallation>false</ForcedInstallation>
    <Essential>false</Essential>
    <Replaces>com.vendor.root.component2old</Replaces>
</Package>

包信息文件元素总结

元素 描述
DisplayName 组件的可读名称。强制项。可将组件名称的翻译指定为DisplayName的附加标签,并将xml:lang属性设置为正确的语言环境。
Description 组件的可读描述。强制项。可以参考DisplayName标签类似地指定翻译。如果找不到与语言环境匹配的本地化翻译,并且存在未翻译的版本,则将使用该版本。否则,将不会显示该语言环境的描述。用户可点击的外部链接,例如组件的主页,可以包括在组件描述中,通过指定如下URL地址:{external-link}='https://www.qt.io/'。 该URL必须有效,并且包含所需资源的完整路径。
Version 组件版本的格式:[0-9]+((\.|-)[0-9]+)*,例如1-1;1.2-2; 3.4.7。强制项。如果一个包需要显示子包的版本号而不是它自己的版本号(由于子包的分组),则可以使用需要继承该版本号的包名称,来指定InheritVersionFrom属性。
ReleaseDate 组件版本发布的日期。强制项。
Name 组件的类域标识。强制项。
Dependencies 逗号分隔的组件标识符列表,此组件的依赖项。可选的,你可以指定版本号,用破折号(-)分隔。您可以在版本号前使用比较运算符(=,>,<,>=或<=)。请记住,必须使用字符引用"&lt;"来转义左尖括号(使用"&lt;"代替"<",使用"&lt;="代替"<=")。可选项。有关更多信息,请参见组件依赖章节。
AutoDependOn 逗号分隔的组件标识符列表,本组件自动依赖。仅当所有指定依赖满足时,才安装本组件。如果其中某个组件自动依赖于其他组件,则组件树中该组件旁边的复选框将不可见。复选框自动进行选择。如果以前未安装过本组件,则仅当列表中的所有组件都被选择安装时,才可选择安装本组件。 如果已经安装了本组件,当列表中选择了至少一个组件进行卸载时,则该组件也将被选择进行卸载。 有关更多信息,请参见组件依赖章节。
Virtual 设置为true可以从安装程序中隐藏该组件。 请注意,在根组件上设置此功能无效。
SortingPriority 树中组件的优先级。 该树从最高优先级到最低优先级排序,最高优先级在顶部。
Licenses 用户将接受的许可协议列表。要添加多个许可证,请添加多个<License>子元素,每个都指定许可证名称文件。 许可证文件支持ASCII和UTF8文件格式。
如果列出了此组件的翻译,安装程序还将查找翻译后的许可证。它们需要与原始许可证文件同名,但具有附加的语言环境标识符。例如,如果许可证文件名为license.txt,并指定了德语翻译,则安装程序还将包含license_de_de.txt文件(在德语系统上安装时显示)。
Script 正在加载的脚本的文件名。可选项。有关更多信息,请参见添加操作章节。
UserInterfaces 要加载的页面列表。 要添加多个页面,请添加多个<UserInterface>子元素,每个指定页面的文件名。 可选项。有关更多信息,请参见添加页面章节。
Translations 要加载的翻译文件列表。 要添加多种语言变体,请指定多个<Translation>子元素,每个指定一种语言变体的文件名。可选项。有关更多信息,请参见翻译页面章节。
UpdateText 描述,添加到组件描述中。如果这是对组件的更新。可选的。
Default 可能的值为:true,false和script。设置为true,则预先选择安装程序中的组件。这仅对没有可见子组件的组件有效。 true和false会被直接评估,而script在运行时解析。 在此文件中,添加脚本名,作为<Script>元素的一个值。有关示例脚本,请参见选择默认内容章节。
Essential 将包标记为必要的,用于强制重启MaintenanceTool。如果某个必要组件有可用的更新,则包管理器将保持禁用状态,直到该组件被更新为止。运行更新程序时,将自动安装新引入的必要组件。
ForcedInstallation 确定必须始终安装该包。用户无法在安装程序中取消选择。
Replaces 要替换的逗号分隔的组件列表。可选项。
DownloadableArchives 列出供在线安装程序下载的数据文件(用逗号分隔)。如果组件内部有一些数据,并且package.xml和/或脚本没有DownloadableArchives值,则repogen工具会自动注册找到的数据。
RequiresAdminRights 设置为true,如果需要使用提升的权限来安装包。可选项。
Checkable 设置为false,如果要隐藏项目的复选框。当仅应选择几个子组件而不是全部时,这很有用。可选项。
ExpandedByDefault 设置为true,如果要在树结构中默认扩展此项。可选项。

组件依赖

组件可以依赖一个或多个真实或者虚拟的组件。依赖通过组件标识或者可选的组件版本来定义。使用破折号(-)将版本号与标识符分开。

可以使用比较运算符(=,>,、&lt;(<),>=或&lt;=(<=))作为版本号的前缀,以指示包的版本号,并与所需版本进行比较,并且必须等于、大于、小于、大于等于依赖项的版本号。如果没有给出比较运算符,则默认为=。

数据文件夹

数据文件夹包含安装程序在安装过程中要提取的内容。您必须将数据打包为.7zip存档(.7z)。您可以使用Qt Installer框架随附的archivegen工具,也可以使用其他生成7zip存档的工具。

上一篇:利用DllPlugin性能优化


下一篇:POJ-1330--Nearest Common Ancestors(离线LCA)