2010-12-06 3 views
3

Nous avons des modules de fusion qui vont installer les fichiers PDB lorsqu'une certaine variable conditionnelle est vraie, mais nous avons besoin que cette condition soit définie. Puis-je définir cette condition dans le programme d'installation de WiX et la transmettre au module de fusion d'une manière ou d'une autre?Passer le drapeau pour fusionner le module du programme d'installation de WiX?

+0

Il y a beaucoup de documentation sur WiX ici: http://sourceforge.net/mailarchive/forum.php?forum_name=wix-users&max_rows=25&offset=18&style=nested&viewmonth=200809&viewday=26 J'ai trouvé que la documentation officielle était manque un peu, bonne chance. – BlackICE

Répondre

4

Vous pouvez définir les propriétés d'installation des modules de fusion en utilisant ce format:

<property_name>.<module_GUID> 

Par exemple:

CONDITION_PROPERTY.32D73316_E513_43C3_99F5_381A4B5F0A78 

Dans votre installateur, vous pouvez essayer d'utiliser une action personnalisée pour définir la propriété utilisée dans la condition du module de fusion.

L'élément d'action personnalisé peut ressembler à ceci:

<CustomAction Id="SetMsmProperty" Return="check" Property="CONDITION_PROPERTY.32D73316_E513_43C3_99F5_381A4B5F0A78" Value="myValue" /> 

Vous pouvez programmer l'action après InstallExecuteSequence -> AppSearch, de sorte que vous pouvez ajouter cet élément InstallExecuteSequence:

<InstallExecuteSequence> 
    <Custom Action="SetMsmProperty" After="AppSearch">NOT Installed</Custom> 
</InstallExecuteSequence> 

Vous pouvez en lire plus à propos des actions personnalisées wix ici:

+0

où abouts dans le fichier wxs je définirais cela? – Jon

+0

J'ai édité ma réponse. –

0

je crée juste généralement un sous-composant pour créer un point de variation de l'installateur. Vous pouvez ensuite y placer une condition d'entité pour contrôler si les composants apportés par les modules de fusion sont installés ou non. Ceci est beaucoup plus simple que de mettre une condition sur chaque composant et vous donne plus de flexibilité si vous voulez montrer la fonctionnalité "symboles de débogage" à l'utilisateur final ou non.

Questions connexes