2017-01-11 4 views
0

J'essaie de rendre mon projet Qt Installer plus confortable.Qt Projet d'installation: comment générer package.xml et config.xml

J'ai besoin de centraliser les informations sur mon application et ses composants (config.xml et package.xml) dans un seul fichier. Je ne veux pas sauter sur des fichiers différents avec le même nom et rechercher des éléments modifiables entre les balises xml.

Ma première idée est de le faire correctement dans le fichier * .pro du projet d'installation. Je place des sections de variables dans l'en-tête du fichier de projet d'installation. Mais où dois-je placer le code pour générer xml?

Quelle est la meilleure façon (native/comfortable/crossplatform) de faire cela?

Répondre

0

La réponse est simple ici: vous ne pouvez pas générer de fichiers XML pour Qt Installer: vous les écrivez manuellement, comme expliqué dans le documentation.

Cette section décrit les tâches suivantes que vous devez accomplir pour créer le programme d'installation:

  1. Créer un répertoire de package qui contiendra tous les fichiers de configuration et les paquets installables.
  2. Créez un fichier de configuration qui contient des informations sur la création des fichiers binaires d'installation et des référentiels en ligne.
  3. Créez un fichier d'informations de package contenant des informations sur les composants pouvant être installés.
  4. Créez le contenu du programme d'installation et copiez-le dans le répertoire du package.
  5. Utilisez l'outil binarycreator pour créer le programme d'installation .

Cependant, si vous regardez de plus près at the examples, vous pouvez toujours générer le programme d'installation dans le fichier * .pro. Reprenons un exemple au hasard, 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 

Si vous voulez appliquer à votre projet, je pense que vous devrez modifier le courant, la ligne ../../bin/binarycreator et rendre le système en changeant votre PATH. Il peut être possible d'appeler un script externe et d'analyser des fichiers XML, et de faire les substitutions que vous souhaitez faire, mais vous déplacer la complexité à un autre endroit. Plutôt que de conserver les anciens fichiers XML, vous créeriez quelque chose entre XSLT et XML au lieu de l'utiliser. Peut-être que vous pourriez juste écrire XSLT (ou XSL ou XQUERY) et générer du XML mais je ne connais personne qui l'utilise plus. La dernière fois que j'ai utilisé c'était quand j'apprenais l'informatique il y a longtemps :)