2016-07-29 2 views
1

Je souhaite exécuter mon fichier .exe, qui affiche MessageBox et se ferme en cliquant sur OK. CustomAction doit être exécuté une fois l'installation terminée, mais avant d'afficher la boîte de dialogue Finish. Le problème est, que je ne suis pas en mesure de régler la fenêtre de l'installateur principal d'attendre pour cliquer sur le bouton OK (Finish boîte de dialogue est affichée directement, donc la fenêtre principale peut être complètement fermée sans cliquer sur le bouton OK). Version WiX Toolset: v3.10Le jeu d'outils WiX exécute une action personnalisée après l'installation et attend la fin

produit Code source:

<Property Id="WixShellExecTarget" Value="[#ExeId]" /> 
<InstallExecuteSequence> 
    <Custom Action="LaunchExe" After="InstallFinalize" /> 
</InstallExecuteSequence> 
<CustomAction Id="LaunchExe" BinaryKey="WixCA" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" /> 

code source des composants:

<Component Id="ExeId" Directory="APPLICATIONFOLDER" Guid="*"> 
    <File Id="ExeId" Source=".\ExeName.exe" KeyPath="yes" Checksum="yes" /> 
</Component> 

Répondre

2

Ok je mannaged pour l'exécuter. code résultant est:

<InstallExecuteSequence> 
    <Custom Action="LaunchExe" Before="InstallFinalize">NOT Installed AND NOT REMOVE</Custom> 
    </InstallExecuteSequence> 
<CustomAction Id="LaunchExe" FileKey="ExeId" ExeCommand="" Execute="deferred" Return="check" Impersonate="no" /> 

Notez que NOT Installed AND NOT REMOVE état devait être ajouté, parce que Windows n'a pas été en mesure de désinstaller l'application.