2016-06-29 24 views
1

Ich installiere Mosquitto mit WIX und sobald die Dateien kopiert sind, versuche ich die mosquitto.exe mit einer benutzerdefinierten Aktion auszuführen. Es startet eine neue Eingabeaufforderung und die Installation wird dort angehalten. Es wird nur fortgesetzt, wenn ich diese Eingabeaufforderung beende. Unten ist mein Code.Installer wartet, wenn EXE als benutzerdefinierte Aktion während der Installation ausgeführt wird

<Feature Id="ProductFeature" Title="MosquittoInstaller" Level="1"> 
    <ComponentGroupRef Id="MosquittoFilesGroup"/> 
    </Feature> 
<InstallExecuteSequence> 
    <Custom Action="RunMosquitto" Before="InstallFinalize" /> 
</InstallExecuteSequence> 


    <Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="INSTALLLOCATION"> 
    <Directory Id="KubeInstallDir" Name="Kube2.0"> 
     <Directory Id="MyProgramDir" Name="Mosquitto" /> 
    </Directory> 
    </Directory> 
</Directory> 
<CustomAction Id='RunMosquitto' FileKey="fil7D28AEF774656849395A2FA20A5C963D" Execute="deferred" ExeCommand='-v' Return="check" HideTarget="no" Impersonate="no"/> 

Was mache ich hier falsch? Bitte um Rat.

Antwort

2

Die Installation wird angehalten, da Sie in Ihrer benutzerdefinierten Aktion Return="check" haben. Weitere Informationen zum Rückgabeattribut finden Sie unter CustomAction documentation.

Return="asyncNoWait" ist was du willst.

jedoch the WiX documentation for running a program after install zeigt eine andere Art und Weise:

<Property Id="WixShellExecTarget" Value="[#myapplication.exe]" /> 
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" /> 
+0

In Bezug auf den zweiten Ansatz, den Sie erwähnt, können Sie mir sagen, wie ich das Argument für den Installateur passieren kann? Ich werde "mosquitto.exe" im Value-Bereich unter Property angeben. Aber was ist mit dem Argument "-v"? – mayooran

+0

Ich bin mir nicht 100% sicher. Ich würde versuchen, etwas wie "Value =" [# myapplication.exe] -v "' oder "Value = '" [# myapplication.exe] "-v'' und sehen, wie es sich verhält. – BryanJ

+0

Sorry @mayooran sieht aus wie ich dich früher falsch gelenkt habe. Ich denke, die korrekte Art und Weise der Verwendung von Befehlszeilenparametern ist für uns eine benutzerdefinierte Standardaktion, so wie Sie es waren. – BryanJ