패키지 체인이있는 WiX Burn을 설치했습니다.WiX CAQuietExec CustomAction 설치를 중단합니다
업데이트는 사용자 개입이 필요없는/수동 모드에서 실행됩니다.
마지막 패키지는 업데이 트에서 실행되며, 목적이 다음과 같은 코드를 사용하여 않는 실행 파일을 실행하는 것입니다 .. 그러나
<!-- Quiet Execution Deferred execution with qtExec-->
<Property Id="QtExecDeferredExample" Value=""C:\Program Files (x86)\Acme Inc\MyApp.exe""/>
<CustomAction Id="QtExecDeferredExample" BinaryKey="WixCA" DllEntry="CAQuietExec"
Execute="deferred" Return="ignore" Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="QtExecDeferredExample" Before="InstallFinalize"/>
</InstallExecuteSequence>
, MyApp.exe의 시작하지만, 설치 MyApp.exe가 종료 될 때까지 종료되지 않습니다. 분명히 나는 앱을 시작하고 Installer가 스스로를 끝내기를 원한다.
내가 마무리 설치 한 후 실행하도록에서 CustomAction을 개정 할 수.. 때문에 다음의
<Custom Action="QtExecDeferredExample" After="InstallFinalize"/>
: 감사
ICE77: QtExecDeferredExample is a in-script custom action.
It must be sequenced in between the InstallInitialize action and the InstallFinalize action in the InstallExecuteSequence table
어떤 아이디어.
업데이트 : BrianJ의 답은 나를 안내합니다. @escist가 물었다 바와 같이, 내 CA의 관련 부분은 다음과 같습니다
다른 곳<!-- CA To set the property of the process to start-->
<CustomAction
Id ="SetProcessToStart"
BinaryKey ="WiXCustomActions"
DllEntry ="GetProcessToStart"
Execute ="immediate" />
<!-- CA to start the process-->
<CustomAction
Id ="StartApp"
Directory ="APPLICATIONROOTDIRECTORY"
ExeCommand ="[PROCESSTOSTART]"
Execute ="deferred"
Return ="asyncNoWait"/>
</Fragment>
</Wix>
(이 과정을 시작했습니다 수 내 애플 리케이션의 숫자가, 그래서 그 경로는 레지스트리에 저장됩니다) ..
<Property Id="PROCESSTOSTART">[Not Set]</Property>
<InstallExecuteSequence>
<!-- Use our Custom Action to set the PROCESSTOSTART property-->
<!-- Custom Action to get the value from registry of the App that started the bootstrapper-->
<Custom Action="SetProcessToStart" Before="LaunchConditions">NOT Installed</Custom>
<!-- NOT installed ensures that the CA does not get fired on an uninstall -->
<Custom Action="StartApp" Before="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
이 문제에 대한 해결책을 찾아 주시겠습니까? – escist