2011-09-23 6 views
3

J'ai récemment séparé nos installateurs de la société en deux fonctionnalités (une activée et une absente), pour permettre à l'utilisateur de sélectionner les deux, j'ai utilisé l'interface graphique UI_Mondo pour permettre la sélection.Conditions dans les actions personnalisées

J'ai réussi à obtenir notre action personnalisée au travail si la fonction est sélectionnée:

<Custom Action="RestartIISForASPNet4" After="AspnetRegIIS"><![CDATA[(NOT INSTALLED) AND (&WebServiceFeature=3) AND NOT (!WebServiceFeature=3)]]></Custom 

J'ai essayé, mais pour une raison, il est à venir avec de faux (OMI, il ne peut pas comme dans le journal le WixUI_InstallMode est réglé sur InstallComplete.

<Custom Action="RestartIISForASPNet4" After="AspnetRegIIS"><![CDATA[((NOT INSTALLED) AND (&WebServiceFeature=3) AND NOT (!WebServiceFeature=3)) OR WixUI_InstallMode = "InstallComplete"]]></Custom> 

quelqu'un a des idées que je manque, il est

Répondre

3

WixUI_InstallMode probablement vraiment évident. est un private property. Cela signifie qu'il utilise sa valeur par défaut pendant InstallExecuteSequence (lorsque votre action personnalisée est exécutée). Une solution consiste à utiliser une action personnalisée pour enregistrer sa valeur dans public property. Vous pouvez ensuite utiliser cette propriété publique dans votre état.

Les propriétés publiques n'ont pas de minuscules dans leurs noms.

+0

Merci, cela semble éclairant! Avez-vous un exemple d'utilisation de ce type d'action personnalisée par hasard? Ou une page à apprendre, jamais fait auparavant. – Jamie

+0

Peut-être cela va vous aider: http://wix.sourceforge.net/manual-wix3/wix_xsd_setproperty.htm –

Questions connexes