2016-06-29 6 views
1

WIX를 사용하여 Mosquitto를 설치하고 파일이 복사되면 사용자 지정 작업을 사용하여 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"은 원하는 것입니다. 나는 설치에 인수를 전달할 수있는 방법은 말해 줄 수,

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

당신이 언급 한 두 번째 방법에 관한 :

그러나, the WiX documentation for running a program after install 다른 방법을 보여줍니다? 속성 아래의 값 섹션에서 "mosquitto.exe"를 지정합니다. 그러나 인수 "-v"는 어떨까요? – mayooran

+0

나는 100 % 확실하지 않다. 나는 'Value = "[# myapplication.exe] -v"또는'Value =' "[# myapplication.exe]"-v "와 같은 것을 시도하고 어떻게 동작 하는지를 볼 것이다. – BryanJ

+0

죄송합니다. 제가 이전에 잘못 인도 한 것처럼 보입니다. 명령 줄 매개 변수를 사용하는 올바른 방법은 표준 사용자 지정 작업을 수행하는 것입니다. – BryanJ