2008-11-19 5 views
2

J'essaie donc, après la fin de l'installation d'une application (bien qu'en vérité, cela n'a pas vraiment d'importance quand l'application secondaire est exécutée, puisqu'elle n'interagit pas avec les fichiers installés pendant installation), exécutez un autre programme qui est fourni avec l'application. Code Pertinent (avec différentes choses remplacés par « ... »:Wix Actions personnalisées avec WixUI_Minimal

<directory ...> 
    <component ...> 
    <File Id="IDINST" ... /> 
    </component> 
</directory> 
... 
<CustomAction Id="IDACTION" FileKey="IDINST" ExeCommand="..." Return="ignore" /> 
... 
<InstallExecuteSequence> 
    <Custom Action="IDACTION" After="CostFinalize" /> 
</InstallExecuteSequence> 

J'ai vérifié le répertoire et le fichier était où je m'y attendais, mais il n'a pas été exécuté après le processus d'installation En vérité, je ne sais vraiment pas. Même si je veux que ce fichier soit installé, il suffit de le lancer, puis de le supprimer, mais je vais ignorer cela pour le moment, de toute façon, j'ai vu plusieurs exemples d'actions déclencheurs après les dialogues.

Répondre

5

CostFinalize se produit longtemps avant que l'action différée InstallFiles s'exécute (qui place réellement le fichier) Ainsi, le CustomAction échoue (car le fichier n'est pas disponible) en silence (parce que Return est ignoré)

Vous devez planifier votre CustomAction au moins après InstallFiles et être différé ou si le CustomAction ne peut pas être différé, il doit l'être après InstallFinalize (bien sûr, il ne peut pas provoquer l'annulation après InstallFinalize).

Questions connexes