2016-05-27 1 views
0

Nous avons une solution, il y a environ 100 projets dans le projet. Et nous avons environ 20 installateurs que nous avons créés avec vdproj.Création de projets WiX à partir de MSI en utilisant la couleur sombre

J'ai besoin de créer des projets WiX, ce qui créerait .msi au lieu de vdproj. J'ai utilisé dark.exe pour générer un fichier wxs à partir de msi et j'ai récupéré des binaires. J'ai réussi à créer un fichier msi et tout était bien. Mais ensuite j'ai commencé à y penser. Si certains de ces projets sont modifiés, ces changements seront-ils appliqués à l'application après la reconstruction du projet wix? Ou wxs référencera l'ancienne version et pour la mettre à jour, quelqu'un devra reconstruire le projet vdproj pour créer de nouveaux msi, puis utiliser à nouveau dark.exe?

Je suis désolé pour une question stupide, c'est ma première fois en utilisant wix et en travaillant avec les installateurs en général.

Merci d'avance

Répondre

2

Vous avez commencé sur la bonne voie. Les sorties VDPROJ sont des fichiers .msi, donc l'utilisation de dark pour les convertir en fichiers wxs est la bonne chose à faire. Maintenant que vous avez vos fichiers wxs (le fichier source de base pour construire les déploiements wix), vous pouvez supprimer les projets VDPROJ dans votre solution et mettre à jour et utiliser les fichiers wxs (je crois que WiX a aussi un modèle de projet studio visuel).

Vous devrez mettre à jour vos fichiers wxs avec de nouveaux assemblys ou fichiers livrables au fur et à mesure que vos projets changent.

Il est préférable de procéder de cette façon, puis de procéder à un ramassage générique (ce que vous ne pouvez techniquement pas faire avec WiX) car il est préférable d'avoir un contrôle explicite de ce qui se passe sur la machine cible. J'ai vu de nombreux cas où les développeurs ajoutent négligemment une référence en tant que sortie de build qui n'est pas nécessaire, et parfois cette référence ne peut pas être redistribuée par le contrat de licence ou d'autres légalités.

+0

Merci. Je suppose que je ne comprends pas exactement ce qui se passe. Je dois faire plus de recherches. – user1872329

+0

Est-ce que je comprends bien que: Disons que nous avons foo.dll en tant que composant dans le fichier wxs. Si nous changeons le projet foo, nous devons mettre un nouveau foo.dll dans le dossier source du projet wix? – user1872329

+0

Non, le composant (conteneur) pour le fichier foo.dll n'a pas besoin d'être modifié. Vous avez seulement besoin de changer le fichier wxs s'il y a un changement dans la charge utile (ajouter/supprimer/supprimer). Ce serait une bonne idée de lire les règles des composants sur le site WiX ou MSDN, mais la règle générale est un binaire = un composant. –