2009-07-31 4 views
4

Ce que je voudrais faire est la suivante:Set propriété Wix que si certaine condition est remplie

<Property Id="LICENSEKEYPATH"> 
     REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE 
     <DirectorySearch Id="ProgramDataSearch" AssignToProperty="yes" Depth="4" Path="[#ProductDirInAppData]"> 
     <FileSearch Id="LicenseFileSearch" Name="lic-conf.enp"/> 
     </DirectorySearch> 
</Property> 

Quand mon application est désinstallée, alors seulement, que je veux rechercher le fichier de licence et obtenir son chemin. Actuellement, bien que le code ne donne aucune erreur, il recherche toujours le chemin du fichier de licence même lorsque j'installe le fichier. Pour cette raison, la configuration est retardée de beaucoup de temps. Et plus important encore, la configuration wix affiche dans le premier écran à l'effet que sa recherche de cette propriété, puis il continue avec les autres écrans. Alors, comment rechercher un fichier ou définir la valeur d'une propriété uniquement pendant la désinstallation?

Répondre

6

Vous pouvez contrôler le paramètre d'une propriété à l'aide de l'élément SetProperty. C'est juste un raccourci pour enregistrer une action personnalisée. Vous pouvez contrôler quand SetProperty s'exécute en utilisant un Conditoin dans l'élément de texte. En ce qui concerne AppSearch (éléments XxxSearch), vous pouvez ajouter une condition comme celle ci-dessus à l'élément AppSearch afin qu'elle ne s'exécute que pendant la désinstallation. Notez que le conditionnement de l'élément AppSearch affectera tous les éléments XxxSearch. Donc, si vous avez besoin d'avoir une recherche fonctionnant pendant l'installation et une autre recherche seulement pendant la désinstallation, ce n'est pas possible.

PS: La condition que vous voulez ressemblera à quelque chose comme:

Installed AND REMOVE="ALL"

Questions connexes