Qt Installer Framework组件别名示例

Component Alias Example

组件别名示例

Using installer's aliases.xml file to define component aliases and their relations to other aliases and components.

使用安装程序的aliases.xml文件定义组件别名及其与其他别名和组件的关系。

Component Alias illustrates how to specify component aliases and how they influence the installation and maintenance processes for command line usage.

组件别名说明了如何指定组件别名,以及它们如何影响命令行使用的安装和维护过程。

Configuring the Example Installer
配置示例安装程序

The installer configuration file, config.xml, in the config directory specifies the text and default values used in the installer:

config目录中的安装程序配置文件config.xml指定了安装程序中使用的文本和默认值:

  • The <Name> element sets the application name and adds it to the page name and introduction text.
  • <Name>元素设置应用程序名称并将其添加到页面名称和介绍文本中。
  • The <Version> element sets the application version number.
  • <Version>元素设置应用程序版本号。
  • The <Title> element sets the installer name and displays it on the title bar.
  • <Title>元素设置安装程序名称并将其显示在标题栏上。
  • The <Publisher> element sets the publisher of the software (as shown in the Windows Control Panel, for example).
  • <Publisher>元素设置软件的发布者(例如,如Windows控制面板所示)。
  • The <StartMenuDir> element sets the name of the default program group for the product in the Windows Start menu.
  • <StartMenuDir>元素在Windows“开始”菜单中设置产品的默认程序组的名称。
  • The <TargetDir> element sets the default target directory location to be within the IfwExamples directory in the home directory of the current user (because it uses the pre-existing variable , @HomeDir@, as part of the value). For more information, see Predefined Variables.
  • ​<TargetDir>元素将默认目标目录位置设置为当前用户主目录中的IfwExamples目录内(因为它使用预先存在的变量@HomeDir@作为值的一部分)。有关详细信息,请参见预定义变量。
  • The <AliasDefinitionsFile> element is set to aliases.xml to tell the installer the source for the alias definitions.
  • <AliasDefinitionsFile>元素设置为aliases.xml,以告诉安装程序别名定义的来源。
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Component Alias Example</Name>
    <Version>1.0.0</Version>
    <Title>Component Alias Example</Title>
    <Publisher>Qt-Project</Publisher>
    <StartMenuDir>Qt IFW Examples</StartMenuDir>
    <TargetDir>@HomeDir@/IfwExamples/componentalias</TargetDir>
    <AliasDefinitionsFile>aliases.xml</AliasDefinitionsFile>
</Installer>

In this example, the aliases.xml file declares three component aliases. Two aliases, set1 and set2 require a subset of available components, while set-full requires the former two aliases, thus all available components.

在这个例子中,aliases.xml文件声明了三个组件别名。两个别名set1和set2需要可用组件的子集,而set-full需要前两个别名,因此需要所有可用组件。

<?xml version="1.0"?>
<Aliases>
    <Alias>
        <Name>set1</Name>
        <DisplayName>Component Set 1</DisplayName>
        <Description>Alias for components A, B, and C</Description>
        <Version>1.0.0</Version>
        <Virtual>false</Virtual>
        <RequiredComponents>componentA,componentB,componentC</RequiredComponents>
    </Alias>
    <Alias>
        <Name>set2</Name>
        <DisplayName>Component Set 2</DisplayName>
        <Description>Alias for components D, and E</Description>
        <Version>1.0.0</Version>
        <Virtual>false</Virtual>
        <RequiredComponents>componentD,componentE</RequiredComponents>
    </Alias>
    <Alias>
        <Name>set-full</Name>
        <DisplayName>Full Component Set</DisplayName>
        <Description>Alias for full installation</Description>
        <Version>1.0.0</Version>
        <Virtual>false</Virtual>
        <RequiredAliases>set1,set2</RequiredAliases>
    </Alias>
</Aliases>

For full reference of the alias definitions file syntax, see Alias Definition File.

​有关别名定义文件语法的完整参考,请参阅别名定义文件。

Creating the Example Package Information File
创建示例包信息文件

The installer package information file, package.xml, in the meta directory specifies the components that are available for installation:

meta目录中的安装程序包信息文件package.xml指定了可用于安装的组件:

  • The <DisplayName> element sets the human-readable name of the component.
  • <DisplayName>元素设置组件的人类可读名称。
  • The <Description> element sets the human-readable description of the component.
  • <Description>元素设置组件的人类可读描述。
  • The <Version> element sets the version number of the component.
  • <Version>元素设置组件的版本号。
  • The <ReleaseDate> element sets the date of release for this component version.
  • <ReleaseDate>元素设置此组件版本的发布日期。
Referring to Component Aliases from Command Line
从命令行引用组件别名

The declared component aliases can be used from the installer's command line interface with the search and install commands.

声明的组件别名可以从安装程序的命令行界面与search 、install 命令一起使用。

Searching Available Component Aliases
搜索可用组件别名

The search command will by default search available aliases first, and then normal components:

默认情况下,search 命令将首先搜索可用别名,然后搜索正常组件:

$ installer search

The command will print a table of aliases that were declared in the alias definition file:

该命令将打印别名定义文件中声明的别名表:

Name: set-full
Display name: Full Component Set
Description: Alias for full installation
Version: 1.0.0
Components:
Required aliases: set1,set2
========================================
Name: set1
Display name: Component Set 1
Description: Alias for components A, B, and C
Version: 1.0.0
Components: componentA,componentB,componentC
Required aliases:
========================================
Name: set2
Display name: Component Set 2
Description: Alias for components D, and E
Version: 1.0.0
Components: componentD,componentE
Required aliases:
Installing Available Component Aliases
安装可用组件别名

The install command can be used to install the components referred by a component alias:

install命令可用于安装组件别名引用的组件:

$ installer install set1

This command is practically equivalent to selecting the components explicitly by their names:

此命令实际上相当于通过名称显式选择组件:

$ installer install componentA componentB componentC

When selecting aliases for installation, the component changes summary will show separate sections for components selected by a aliases, to differentiate from manual selection:

在选择别名进行安装时,组件更改摘要将显示别名所选组件的单独部分,以与手动选择区分开来:

$ installer install set1 componentD

This will output the following component changes summary:

这将输出以下组件更改摘要:

Components selected by alias "set1":
componentA
componentB
componentC
Selected components without dependencies:
componentD

The <RequiredComponents> property does not declare a hard dependency for components, and those can be later on updated or uninstalled individually from the alias:

<RequiredComponents>属性没有声明组件的硬依赖关系,稍后可以从别名单独更新或卸载这些组件:

$ maintenancetool remove componentA

After this, selecting the set1 alias for installation again would also select componentA for reinstallation.

在此之后,再次选择set1别名进行安装也会选择componentA进行重新安装。

Virtual Component Aliases
虚拟组件别名

Component aliases may be declared <Virtual>. This works similarly with virtual components, so that they cannot be manually selected by the user and do not show in component search results. Such aliases must be included by other aliases with the <RequiredAliases> property.

组件别名可以声明为<Virtual>。这与虚拟组件的工作原理类似,因此用户无法手动选择它们,也不会显示在组件搜索结果中。此类别名必须包含在具有<RequiredAliases>属性的其他别名中。

Optional Dependencies for Component Aliases
组件别名的可选依赖关系

In addition to dependencies declared with <RequiredComponents> and <RequiredAliases> as shown in this example, aliases may have optional dependencies declared with <OptionalComponents> and <OptionalAliases> properties. The latter properties differ from the requirements in that they do not cause the alias declaring the requirement to become unselectable, in case the referenced components or aliases are not known to the installer.

除了如本例所示用<RequiredComponents>和<RequiredAliases>声明的依赖关系外,别名还可以有用<OptionalComponents]和<OptionalAliases>属性声明的可选依赖关系。后一个属性与要求的不同之处在于,如果安装程序不知道引用的组件或别名,它们不会导致声明要求的别名变得不可选择。

This provides the packager some flexibility for declaring the dependencies. For example, an installer may be expected to use an optional repository, which contains components that a component alias optionally depends on, but the alias should be also available for installation when the repository is disabled.

这为打包者声明依赖关系提供了一些灵活性。例如,安装程序可能会使用一个可选的存储库,其中包含组件别名可选依赖的组件,但当存储库被禁用时,别名也应可用于安装。

Generating the Example Installer
生成示例安装程序

To create the example installer, switch to the example source directory on the command line and enter the following command:

要创建示例安装程序,请在命令行上切换到示例源代码目录,然后输入以下命令:

  • On Windows:
    ..\..\bin\binarycreator.exe -c config\config.xml -p packages installer.exe
    
  • On Linux or macOS:
    ../../bin/binarycreator -c config/config.xml -p packages installer
    

This creates the installer to the current directory.

这将创建当前目录的安装程序。

Files:

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. The Qt Company, Qt and their respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值