2016-07-29 34 views
1

Ich möchte meine .exe-Datei ausführen, die MessageBox anzeigt und beendet mit einem Klick auf OK. CustomAction sollte nach Abschluss der Installation, aber vor dem Anzeigen des Dialogs Finish ausgeführt werden. Das Problem ist, dass ich das Hauptfenster des Installers nicht auf OK klicken kann (Finish Dialog wird direkt angezeigt, daher kann das Hauptfenster komplett geschlossen werden ohne OK zu klicken). WiX Toolset Version: v3.10WiX-Toolset führen benutzerdefinierte Aktion nach der Installation und warten auf den Abschluss

Produkt Quellcode:

<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" /> 

Component-Quellcode:

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

Antwort

2

Ok mannaged ich es laufen. Code ergibt, ist:

<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" /> 

Beachten Sie, dass NOT Installed AND NOT REMOVE Bedingung hinzugefügt werden musste, weil Windows nicht in der Lage war, die Anwendung zu deinstallieren.