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参数总结章节。


原创造福大家,共享改变世界

献出一片爱心,温暖作者心灵


posted @ 2020-01-22 20:40  codeForFamily  阅读(396)  评论(0编辑  收藏  举报