Как добавить аргументы в пользовательское действие exe в Wix?
Я пытаюсь выполнить exe после установки. Ниже, как я пытаюсь это сделать.
<Property Id="WixShellExecTarget" Value="[#fil7D28AEF774656849395A2FA20A5C963D]" />
<CustomAction Id="LaunchMosquitto" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
<InstallExecuteSequence>
<Custom Action="LaunchMosquitto" After="InstallFinalize" />
</InstallExecuteSequence>
Здесь [#fil7D28AEF774656849395A2FA20A5C963D] ссылается на идентификатор файла. Мне нужно запустить этот EXE-файл с параметром " -c config.conf". Как мне этого добиться? Любая помощь приветствуется. Мне нужно, чтобы это происходило без запуска командной строки.
Журналы после ответа:
MSI (s) (D0:24) [18:32:16:273]: Executing op: ActionStart(Name=LaunchMosquitto,,)
MSI (s) (D0:24) [18:32:16:273]: Executing op: CustomActionSchedule(Action=LaunchMosquitto,ActionType=3137,Source=BinaryData,Ta rget=WixQuietExec64,CustomActionData="C:\Kube2.0\Mosquitto\mosquitto.exe" -c C:\Kube2.0\Mosquitto\mosquitto.conf)
1 ответ
Как предположил Ян, вы должны использовать тихий CA.
<SetProperty Id="LaunchMosquitto" Value=""[#fil7D28AEF774656849395A2FA20A5C963D]" -c config.conf" Before="LaunchMosquitto" Sequence="execute"/>
<CustomAction Id="LaunchMosquitto"
BinaryKey="WixCA"
DllEntry="WixQuietExec64"
Execute="deferred"
Return="check"
Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="LaunchMosquitto" Before="InstallFinalize" />
</InstallExecuteSequence>