Qt Installer项目:如何生成package.xml和config.xml

时间:2017-01-11 21:03:42

标签: qt-installer

我尝试让我的Qt Installer项目更舒适。

我需要将有关我的应用程序和组件(config.xml和package.xml)的信息集中在一个文件中。我不想跳过具有相同名称的不同文件,并在xml标记之间搜索可更改的元素。

我的第一个想法是在安装程序项目的* .pro文件中正确执行。我将部分变量放在安装程序项目文件的标题中。但是我需要在哪里放置xml生成代码?

这样做的更好(原生/舒适/跨平台)方式是什么?

1 个答案:

答案 0 :(得分:0)

答案很简单:您无法为Qt安装程序生成XML文件:您可以手动编写它们,如documentation中所述。

  

本节介绍了创建安装程序时必须完成的以下任务:

     
      
  1. 创建一个包目录,其中包含所有配置文件和可安装包。
  2.   
  3. 创建配置文件,其中包含有关如何构建安装程序二进制文件和联机存储库的信息。
  4.   
  5. 创建包信息文件,其中包含有关可安装组件的信息。
  6.   
  7. 创建安装程序内容并将其复制到程序包目录。
  8.   
  9. 使用 binarycreator 工具创建安装程序
  10.   

但是,如果仔细观察at the examples,仍然可以在* .pro文件中生成安装程序。我们随机选择一个例子System Info

TEMPLATE = aux

INSTALLER = installer

INPUT = $$PWD/config/config.xml $$PWD/packages
example.input = INPUT
example.output = $$INSTALLER
example.commands = ../../bin/binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT}
example.CONFIG += target_predeps no_link combine

QMAKE_EXTRA_COMPILERS += example

OTHER_FILES = README

如果您想将此应用于您的项目,我认为您必须通过更改PATH来修改../../bin/binarycreator行并使其系统感知。可能可以调用外部脚本并解析XML文件,并进行您想要进行的替换,但是您可以将复杂性转移到另一个地方。

您可以在XSLT和XML之间创建一些东西,而不是维护简单的旧XML文件。也许你可以只编写XSLT(或XSL或XQUERY)并生成XML,但我不知道有谁在使用它。上次我使用它是在很久以前我学习计算机科学的时候:)