Qt Installer Framework存储库类别示例

Repository Categories Example

存储库类别示例

Using the RepositoryCategories element to set up an online installer where repositories are grouped.

使用RepositoryClassies元素设置一个在线安装程序,在其中对存储库进行分组。

Repository Categories illustrates how to set up an installer where repositories are grouped into categories.

存储库类别说明了如何设置安装程序,将存储库分组到类别中。

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 <RepositoryCategories> element shows how to group repositories into categories. <RepositoryCategories> can contain one or several <RemoteRepositories> child elements that specify a connection to repositories. For more information about <RemoteRepositories> see Configuring Repositories.
  • ​<RepositoryClasses>元素显示了如何将存储库分组到类别中。<RepositoryClassies>可以包含一个或多个指定与存储库连接的<RemoteRepositories>子元素。有关<RemoteRepositories>的更多信息,请参阅配置存储库。
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Repository category Installer Example</Name>
    <Version>1.0.0</Version>
    <Title>Repository category Installer Example</Title>
    <Publisher>The Qt Company</Publisher>
    <StartMenuDir>Qt IFW Examples</StartMenuDir>
    <TargetDir>@HomeDir@/IfwExamples/repositoryCategories</TargetDir>
    <RemoteRepositories>
        <Repository>
            <Url>http://localhost/repository</Url>
        </Repository>
    </RemoteRepositories>
    <RepositoryCategories>
        <RepositoryCategoryDisplayname>Releases</RepositoryCategoryDisplayname>
        <RemoteRepositories>
            <DisplayName>Category 1</DisplayName>
            <Tooltip>Contains repository1 and repository2</Tooltip>
            <Repository>
                <Url>http://localhost/repository1</Url>
            </Repository>
            <Repository>
                <Url>http://localhost/repository2</Url>
            </Repository>
        </RemoteRepositories>
        <RemoteRepositories>
            <Preselected>true</Preselected>
            <DisplayName>Category 2</DisplayName>
            <Tooltip>Contains repository3</Tooltip>
            <Repository>
                <Url>http://localhost/repository3</Url>
            </Repository>
        </RemoteRepositories>
    </RepositoryCategories>
</Installer>
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>元素设置此组件版本的发布日期。
  • The <Default> element is set to true to preselect the component in the installer.
  • 将<Default>元素设置为true,以在安装程序中预选组件。
<?xml version="1.0" encoding="UTF-8"?>
<Package>
    <DisplayName>A</DisplayName>
    <Description>Example component A</Description>
    <Version>1.0.2-1</Version>
    <ReleaseDate>2015-01-01</ReleaseDate>
    <Default>true</Default>
</Package>
Generating the Online Repository
生成在线存储库

This installer contains four packages that each have two components. The Packages directory contains two components that are not grouped categories. They are always visible in tree view in the component selection page. Packages_forcategory1 and packages2_forcategory1 both contain two components, which are visible when Category 1 is fetched. Packages_forcategory2 contains two components that are visible only when Category 2 is fetched.

此安装程序包含四个包,每个包有两个组件。Packages目录包含两个未分组类别的组件。它们在组件选择页面的树视图中始终可见。Packages_forcategory1和Packages_forcategory1都包含两个组件,在提取Category1时可见。Packages_forcategory2包含两个仅在提取Category2时可见的组件。

The packages need to be converted to a file structure that the installer can fetch at runtime. To use the repogen tool to convert the packages, switch to the example source directory on the command line and enter the following command:

这些包需要转换为安装程序可以在运行时获取的文件结构。要使用repogen工具转换包,请切换到命令行上的示例源目录,然后输入以下命令:

  • On Windows:
    ..\..\bin\repogen.exe -p packages repository
    ..\..\bin\repogen.exe -p packages_forcategory1 repository1
    ..\..\bin\repogen.exe -p packages2_forcategory1 repository2
    ..\..\bin\repogen.exe -p packages_forcategory2 repository3
    
  • On Linux or macOS:
    ../../bin/repogen -p packages repository
    ../../bin/repogen -p packages_forcategory1 repository1
    ../../bin/repogen -p packages2_forcategory1 repository2
    ../../bin/repogen -p packages_forcategory2 repository3
    

The generated repositoryrepository1repository2 and repository3 directories will now contain a full copy of the package data and some additionally generated metadata, such as SHA checksums.

生成的repositoryrepository1repository2 和repository3目录现在将包含包数据的完整副本和一些额外生成的元数据,如SHA校验和。

The directories now need to be made available at the URL set in config.xmlhttp://localhost/repositoryhttp://localhost/repository1http://localhost/repository2 and http://localhost/repository3. How this is done depends on the platform and web server used. If you do not have a running web server yet, but have Python available, you should be able to start a minimal web server from the command line. Make sure you are in the example directory, and then enter:

现在需要在config.xml中设置的URL处提供目录:http://localhost/repository, http://localhost/repository1, http://localhost/repository2以及http://localhost/repository3.如何做到这一点取决于所使用的平台和web服务器。如果你还没有一个正在运行的web服务器,但有Python可用,你应该能够从命令行启动一个最小的web服务器。确保您位于示例目录中,然后输入:

python -m SimpleHTTPServer 80

You should now be able to open and explore http://localhost/repository in your web browser.

​现在,应该能够打开并探索http://localhost/repository在网络浏览器中。

Note: If you do not have enough permissions to set up a web server locally, you can also specify an absolute file:/// URL as the value of the URL element in config.xml. For example, file:///C:/Qt/QtIFW/examples/repositorycategories/repository would be a valid URL on Windows if repository is located in C:\Qt\QtIFW\examples\repositorycategories.

注意:如果没有足够的权限在本地设置web服务器,还可以指定一个绝对file:///URL作为config.xml中URL元素的值。例如file:///C:/Qt/QtIFW/examples/repositorycategories/repository如果存储库位于C:\Qt\QtIFW\examples\repository类别中,则这将是Windows上的有效URL。

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 --online-only -c config\config.xml -p packages installer.exe
    
  • On Linux or macOS:
    ../../bin/binarycreator --online-only -c config/config.xml -p packages installer
    

You should now be able to run the installer and install from the repository.

现在,应该能够运行安装程序并从存储库安装。

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.

### 回答1: Qt Installer Framework 是一个用于创建跨平台安装程序的工具。它是由 Qt 公司开发的,可用于构建 Windows、macOS 和 Linux 上的安装程序。Qt Installer Framework 允许开发者创建自定义的安装界面,支持包括自动更新和卸载在内的高级功能,使得应用程序的安装和升级变得更加方便。此外,Qt Installer Framework 还提供了强大的脚本语言和插件系统,以便开发者可以轻松地添加自己的定制功能。 ### 回答2: Qt Installer Framework是一个开源的安装包框架,用于创建跨平台的安装程序。它是由Qt官方社区开发的,用于帮助开发人员轻松地制作各种类型的安装程序。 Qt Installer Framework具有很多强大的特性。首先,它支持主流操作系统,包括Windows、macOS和Linux。这使得开发人员可以使用相同的框架来创建针对不同平台的安装程序,极大地简化了开发和维护的工作。 其次,Qt Installer Framework提供了一个灵活的界面,开发人员可以轻松地定制安装程序的界面。他们可以选择添加自定义的图标、背景图像和品牌标志等来打造与自己应用程序一致的安装体验。 此外,Qt Installer Framework还支持自定义安装组件,开发人员可以将安装的内容分组到不同的组件中,根据用户需求进行选择性安装。这对于大型应用程序来说非常有用,因为用户可以根据自己的需求选择安装哪些组件,从而减少不必要的空间占用。 另一个重要的特性是Qt Installer Framework支持安装程序的自动升级。开发人员可以配置安装程序,使其能够检测并下载更新,并在用户同意的情况下自动升级程序。这可以确保用户始终使用最新版本的应用程序,提供更好的用户体验以及安全性。 综上所述,Qt Installer Framework是一个功能强大且易于使用的安装包框架,可以帮助开发人员轻松创建跨平台的安装程序。它的灵活性和可定制性使得开发人员可以根据自己的需求创建出符合用户期望的安装体验。 ### 回答3: Qt Installer Framework(简称QtIFW)是一个创建安装程序的开源工具集,用于在Windows、Mac和Linux等操作系统上安装Qt应用程序。 Qt Installer Framework提供了一个易于使用的图形界面,允许开发者自定义安装向导和界面。它支持各种高级功能,如自动更新和升级、安装前检查依赖项、注册表设置、缓存管理等。 Qt Installer Framework的核心概念是组件。开发者可以将应用程序划分为多个组件,并在安装时选择安装哪些组件。这样,用户可以自定义安装过程,只选择需要的功能和资源,减少安装空间和时间。 Qt Installer Framework还支持多语言安装,用户可以选择在安装过程中使用哪种语言,提供了灵活的国际化功能。 此外,Qt Installer Framework还支持数字签名验证和认证,确保安装程序的完整性和可信性。 对于开发者来说,Qt Installer Framework提供了灵活的定制选项,可以自定义安装界面和过程,满足特定需求。开发者可以通过简单的脚本语言,定义安装程序的行为。 总的来说,Qt Installer Framework是一个功能强大、易于使用的工具集,为开发者提供了创建跨平台安装程序的便利,提升了用户体验和应用程序的可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值