2009-10-17 11 views
8

Existe-t-il un moyen d'inclure automatiquement les fichiers en fonction de la structure du répertoire?Inclusion automatique des fichiers WiX

Je ne veux pas ajouter chaque nom de fichier avec l'onglet ID de fichier.

Mon processus de construction créer la structure de répertoire requis:

ProductName 
      Directory1 
      Directory2 
      Directory3 
      Directory4 

Comment puis-je ajouter ces répertoires et leurs sous-répertoires?

Répondre

6

Non, pas automatiquement. Il existe cependant quelques outils (appelés "suif" pour Wix "ou" chauffer "pour Wix3) qui vont scanner un répertoire et créer pour vous un fragment Wix (un fichier WiX * .wxs séparé) .Vous pouvez ensuite compiler cette" liste de fichiers ". fichier wxs »(ou ce que vous appelez) dans votre WiX installer.

Voir cette page pour la WiX3 heat documentation et il devrait aussi être un équivalent WiX2 pour le suif sur ce site.

Marc

16

il est aussi Paraffin par John Robbins.Il a quelques fonctionnalités intéressantes:

Mon objectif pour PARAFFIN.EXE était de construire immédiatement des fragments WiX consommables avec un minimum de tracas de votre part. Je voulais PARAFFIN.EXE répondre aux exigences suivantes pour créer d'abord un fragment .WXS pour un répertoire:

  • PARRAFIN.EXE a créé des valeurs uniques au composant, Directory et éléments d'attributs de fichier Id vous n'avez pas inquiétude au sujet des conflits à travers de grands projets
  • PARAFIN.EXE crée un élément de ComponentGroup dans le fichier de sortie avec tous les éléments composant dans le fichier spécifié automatiquement avec les valeurs ComponentRef
  • Vous pouvez en option exclure les extensions de fichiers spécifiques soient ajoutés au fragment .WXS
  • Vous pouvez éventuellement exclure des répertoires de l'inclusion en spécifiant un nom partiel
  • Vous pouvez spécifier si vous souhaitez que les valeurs GUID généré automatiquement pour tous les composants
  • Vous pouvez spécifier plusieurs fichiers par composante (la valeur par défaut est un fichier par composant)
  • Vous pouvez spécifier que vous ne voulez pas recopier d'autres répertoires que celui spécifié
  • Vous pouvez éventuellement spécifier un alias pour le nom du répertoire lors de la définition de l'attribut File - - Source afin de ne pas avoir de noms de lecteurs et de répertoires codés en dur dans la sortie. Fichier WXS

Une fois que vous avez créé un fragment .WXS avec PARAFFIN.EXE, vous ne voulez pas avoir à modifier le fragment manuellement, donc je voulais que PARAFFIN.EXE réponde aux conditions suivantes pour créer un fichier de sortie mis à jour à partir d'un existant. fragment WXS:

  • la sortie mise à jour est écrit dans un fichier .PARAFFIN de sorte que le fragment .WXS d'origine ne soit pas perturbé
  • Toutes les options de ligne de commande spécifiée lors de la création du fragment de .WXS initial sont définis automatiquement lors de la mise à jour d'un fichier créé par PARAFFIN.EXE
  • Tous les nouveaux répertoires et les fichiers trouvés sont automatiquement ajoutés au fichier de sortie
  • Tous les répertoires et les fichiers qui ne font plus partie de la structure des répertoires sont supprimés du fichier de sortie
+2

Lien vers [Paraffine ] (http://www.wintellect.com/CS/blogs/jrobbins/archive/2008/12/22/paraffin-3-0-now-with-full-wix-3-0-support.aspx) est cassé - Je reçois une erreur ** 404. ** Savez-vous si cet outil existe toujours? – Matt

+1

Nouveau lien: https://github.com/Wintellect/Paraffin – garrettendi

Questions connexes