Question

Nous avons décidé de passer de la configuration intégrée du VS à la WiX.

Cependant, nous utilisons actuellement des fichiers de sortie de projets comme entrée pour le projet d'installation. Cela nous permet d’ajouter facilement des fichiers d’application à un répertoire (pour les images, les exemples et d’autres ressources, etc.) et ces fichiers sont automatiquement ajoutés à la configuration lors de la construction.

Je n'ai trouvé aucune fonctionnalité similaire dans WiX. WiX semble exiger une entrée de répertoire et une entrée de fichier pour chaque répertoire et fichier. Cela nous obligerait à changer la source WiX chaque fois qu'un fichier est ajouté, ce qui, à mes yeux, est prohibitif car nous en avons beaucoup.

Existe-t-il un moyen intégré de le faire avec WiX ou dois-je écrire ma propre tâche qui créera une source WiX avant d'appeler candle?

Était-ce utile?

La solution

Pour WiX 2.0, le suif est très limité; La paraffine et la mauve offrent des fonctionnalités supplémentaires. Pour WiX 3.0, la chaleur offre les mêmes fonctionnalités que le suif, mais un peu mieux.

Dans mon cas, j'ai utilisé le code source de mauve, modifié un peu et utilisé, car la paraffine nécessite la version 3.5 de .Net.

Vous pouvez utiliser Mauve

.

ou l’outil Paraffin pour générer des fragments WiX: Mise en route , La douleur de WiX , Un meilleur suif , Paraffine , Télécharger , Paraffin pour WiX 3.0

Autres conseils

J'utilise heat.exe dans WIX 3.5 uniquement à cette fin. La dernière fois que j’ai vérifié, la documentation n’était pas à jour avec la version 3.5, alors gardez-la. à l'esprit.

Voici un exemple:

  

"$ (WIX) bin \ heat.exe" dir   " $ (SourcePath) " -cg MyFiles -gg -scom   -sreg -sfrag -dr INSTALLDIR -out " Fragments $ (ProjectDir) \ FileFragment.wxs "   -var wix.InstallerPath

Le projet Open Source MapGuide utilise actuellement Paraffin 3.0 comme d'autres l'ont souligné.

En gros, pour la première fois dans une version donnée, nous exécuterons notre script d’installation avec un " générer " action qui crée de nouveaux fichiers .wxs pour le dossier source avec des options spécifiques pour chacun.

Dans les versions ultérieures de la même version, le " regen " action est appelée pour s'assurer que les fichiers .wxs sont mis à jour avec les nouveaux fichiers / répertoires ajoutés.

Je pense que Heat v3 vous permet également maintenant de faire beaucoup (ou peut-être tout?) de ceci, comme Brian Rogers écrit . Je suis toujours plus à l'aise avec la façon dont Paraffin le fait plus explicitement en maintenant des GUID statiques, mais le Heat actuel semble être une bonne option.

Après des recherches approfondies, il semble qu’un binaire inclus appelé tallow.exe fasse exactement cela. Il crée un fragment à partir d'un répertoire en recherchant récursivement des fichiers.

Dans mon utilisation de WIX, je n'ai jamais rencontré de fonctionnalité permettant d'ajouter un répertoire complet de fichiers à la fois. En effet, un fichier donné peut être utilisé de nombreuses manières (le système ne sait pas si vous souhaitez faire référence ultérieurement à un fichier spécifique de ce dossier, etc., et il doit les connaître), ainsi que parce que l'installation elle-même doit être assez spécifique.

Cela ne vous empêche pas d'écrire votre propre interface pour WIX qui générera le fichier XML WIX (ou une partie de celui-ci) après l'analyse du contenu des structures de répertoires. C'est essentiellement ce que l'un des systèmes que nous utilisons dans mon travail fait. C'est la même idée que n'importe quel utilitaire de génération de code ou de fichier texte. Parcourez l’arbre et générez le texte approprié.

EDIT: De cette manière, vous pouvez considérer WIX comme le "langage de bas niveau". pour définir la configuration et votre utilitaire en tant que "langage de haut niveau". Si vous avez besoin d'aide pour en écrire un, faites-le nous savoir.

Vous pouvez également générer le fichier WIX dans le cadre du processus de construction en ajoutant cet utilitaire aux étapes de construction personnalisées dans VStudio. Ainsi, vous ne disposez pas d'un " fichier WIX enregistré " que tout le monde construit, le système le construit à la fin, en prenant automatiquement en compte les nouveaux fichiers à l’étape de post-compilation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top