2010-10-05 8 views

Répondre

2

Je pense qu'il est préférable de contrôler cela en utilisant l'attribut « séquence » de l'élément Custom.

Si vous ouvrez votre sortie MSI avec Orca, passez à InstallUISequence ou InstallExecuteSequence table et trier les enregistrements par colonne « séquence », vous verrez la séquence des actions en cours d'exécution. Ainsi, lors de la planification de votre action personnalisée, vous pouvez mettre la séquence explicitement:

<Custom Action="YourAction" ... Sequence="49" /> 

Une approche plus pratique à utiliser avant/après les attributs qui sont mutuellement exclusives avec séquence. Il suffit de savoir l'action que vous souhaitez que votre action personnalisée pour aller avant ou après, et de planifier de manière appropriée:

<Custom Action="YourAction" ... Before="AnotherAction" /> 

Vous devez tenir compte du fait que InstallUISequence pourrait ne pas fonctionner (IU de base), donc si vous souhaitez votre action à exécuter dans tous les cas et une seule fois, mettez l'attribut Execute='firstSequence' à la définition d'action personnalisée:

<CustomAction Id="YourAction" ... Execute="firstSequence" /> 

Assurez-vous d'explorer wix.chm et MSDN pour plus d'informations sur les actions personnalisées. J'espère que cela aide.

+0

hm ... ce cas ne fonctionne pas pour mon projet. Pouvez-vous donner un exemple ou un échantillon? – Artem

+0

Ok, je vais mettre à jour ma réponse avec plus d'infos. –

0

J'ai trouvé une solution. Vous pouvez ajouter ce code à UI.wxs

<Publish Dialog="YOUR_DIALOG" Control="SOME_TEXT" Event="DoAction" Value="CA_NAME" Order="you_order">CONDITION</Publish> 
Questions connexes