The standard custom action to start an executable might not be the best solution if the program to be launched happens to be a console application rather than something with the usual graphical user interface. In these cases, we might want to avoid the command line console windows to flash up for a moment.
WixUtilExtension has a special custom action called CAQuietExec
just for these occasions. It expects to find the command line to be run in a predetermined property called QtExecCmdLine
. The execution can be either immediate or deferred.
<Property Id="QtExecCmdLine" Value="something.exe"/>
<CustomAction Id="SilentLaunch" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="SilentLaunch" After="..." />
</InstallExecuteSequence>
To run 64-bit executables, use the CAQuietExec64
custom action and QtExec64CmdLine
property instead.
To build, we have to link against the standard library:
candle.exe Sample.wxs
light.exe -ext WixUtilExtension Sample.wixobj