Как выполнить файл после успешной установки? - PullRequest
1 голос
/ 10 апреля 2011

Как мне выполнить внешний файл после успешной установки? Он находится в папке Windows\System32. Installer не должен ждать окончания выполнения.

Ответы [ 3 ]

5 голосов
/ 10 апреля 2011

Вы можете определить пользовательское действие, описывающее приложение, которое вы хотите выполнить, следующим образом:

<CustomAction Id="LaunchApplication" FileKey="YourAppExe" ExeCommand="param1" Execute="immediate" Return="asyncNoWait" />

Затем вы можете привязать это к последовательности выполнения установки, используя следующее:

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After="InstallFinalize" />
</InstallExecuteSequence>
4 голосов
/ 11 апреля 2011

Чтобы запустить приложение, когда пользователь нажимает кнопку Готово в диалоговом окне «Установка выполнена успешно», будет работать следующий код (где LaunchOnExit.exe относится к идентификатору установленного файла, который вы хотите запустить)

<Fragment>
    <CustomAction Id="SetLaunchApplicationTarget" Property="WixShellExecTarget" Value="[#LaunchOnExit.exe]" />
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="no" />

    <UI Id="LaunchApplication">
        <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="SetLaunchApplicationTarget">
            <![CDATA[NOT Installed]]>
        </Publish>
        <Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">
            <![CDATA[NOT Installed]]>
        </Publish>
    </UI>
</Fragment>

Если вы хотите запустить приложение даже во время автоматической установки или развертывания MSI, см. Ответ @ Naishy.

0 голосов
/ 10 апреля 2011

Извлечение Well Done раздел Учебного пособия по WiX, в котором объясняется, как добавить флажок для запуска приложения после успешной установки.

...