2016-06-29 12 views
1

Я устанавливаю Mosquitto с помощью WIX и после копирования файлов. Я пытаюсь запустить mosquitto.exe с помощью настраиваемого действия. Он запускает новую командную строку, и установка приостанавливается. Он возобновляется только тогда, когда я завершаю эту командную строку. Ниже мой код.Установщик ждет, когда EXE запускается как пользовательское действие во время установки

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

Что я здесь делаю неправильно? Пожалуйста посоветуй.

ответ

2

Установка приостанавливается, потому что в вашем пользовательском действии у вас есть Return="check". Дополнительную информацию об атрибуте Return см. В разделе CustomAction documentation.

Return="asyncNoWait" - это то, что вы хотите.

Однако the WiX documentation for running a program after install показывает другой способ:

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

Что касается второго подхода, вы упомянули, вы можете сказать мне, как я могу передать аргумент установщику? Я укажу «mosquitto.exe» в разделе Value в разделе Property. Но как насчет аргумента «-v»? – mayooran

+0

Я не уверен на 100%. Я бы попробовал что-то вроде «Value =» [# myapplication.exe] -v "или' Value = '"[# myapplication.exe]" -v'' и посмотрел, как он себя ведет. – BryanJ

+0

Извините, @mayooran выглядит так, как будто я раньше вас неправильно. Я предполагаю, что правильный способ использования параметров командной строки - это обычное настраиваемое действие, каким вы были. – BryanJ

 Смежные вопросы

  • Нет связанных вопросов^_^