Question

Nous avons un fragment Wix dans un SomeDialog.wxs de fichier qui invite l'utilisateur à certaines informations. Il est référencé dans un autre fragment dans le fichier InstallerUI.wxs qui contrôle l'ordre de dialogue. Bien sûr, Product.wxs est notre fichier principal. Fonctionne très bien.

J'ai une deuxième Visual Studio 2008 Wix 3.0 Projet de .MSI d'une autre application et il doit demander à l'utilisateur les mêmes informations. Je ne peux pas sembler trouver la meilleure façon de partager le fichier afin que la modification de l'information demandée entraînera à la fois .MSIs obtenir le nouveau comportement.

Honnêtement, je ne peux pas dire si un module de fusion, un .wsi (inclus) ou .wixlib est la bonne solution. Je l'aurais espéré trouver un exemple simple de quelqu'un qui fait cela, mais je l'ai échoué jusqu'ici.

Edit: Basé sur Rob Mensching wixlib entrée de blog , un wixlib peut être la réponse, mais je suis toujours à la recherche un exemple de la façon de le faire.

Était-ce utile?

La solution

Je suis tout à fait satisfait de l'option .wixlib. Il m'a fallu quelques minutes pour faire une fois que je compris quel était .wixlib.
Je l'ai fait ce qui suit: Dans VS2008, Ajouter-> Nouveau projet ... de type "Wix Library Project" du nom SQLDialog. Le dossier d'une bibliothèque est créée avec un élément de <Fragment></Fragment> vide. Je l'élément copié de l'interface utilisateur de mon dialogue existant (dans mon principal « Projet Wix ») dans l'élément Fragment:

<Fragment>
  <UI>
    <Dialog Id="SQLServerPromptingDlg" ... Title="SQL Server Information" ...>
      <Control Id="Next" Type="PushButton" ... Text="!(loc.WixUINext)" />
      ...
    </Dialog>
  </UI>
</Fragment>

J'ajouté le projet wixlib à la configuration de construction de presse en VS2008. J'ai supprimé le fichier SQLDialog.wxs du projet principal WiX et référencent projet wixlib SQLDialog, au lieu.
Quand je recompilé la solution, le projet principal WiX a travaillé EXACTEMENT LE MÊME AVANT !! Sweet!

Je référencé le projet wixlib SQLDialog de mon autre projet WiX et utilisé à partir de là. A travaillé une grande! Création du serveur est heureux parce que le projet .wixlib partagé fait partie de la solution est compilé. Donc, pour nos besoins, je pense que cela était mieux qu'un répertoire « partagé ». Aucune infraction Bob. Je vous remercie de vos pensées.

Autres conseils

Si c'est juste un fichier, un .wixlib est peut-être exagéré, car il faut une autre .wixproj pour le construire. Ce que je fais dans des cas comme cela est mis dans les .wxs un répertoire « partagé » et l'ajouter à plusieurs projets en utilisant le menu déroulant « ajouter un lien » dans la commande « Ajouter un élément existant ».

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