Как добавить аргументы в пользовательское действие 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="&quot;[#fil7D28AEF774656849395A2FA20A5C963D]&quot; -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>
Другие вопросы по тегам