WIX CustomAction завершается с ошибкой 1721 или 1722 - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь создать установщик MSI для моего приложения, который представляет собой настраиваемый эластичный поиск. Мне нужно запустить команду elasticsearch-service.bat install из cmd в середине установки. Но что бы я ни делал, это не будет успешно выполнено.

<CustomAction Id="InstallService" Directory="elasticsearch" Execute="deferred" Impersonate="no" ExeCommand='[SystemFolder] cmd.exe /c "bin\elasticsearch-service.bat install"' Return="check" />

<InstallExecuteSequence>
  <Custom Action="InstallService" After="InstallFiles" />
</InstallExecuteSequence>
Ошибки

1721 и 1722 являются расплывчатыми и не содержат никакой дополнительной информации. В чем причина этих ошибок? Я подозревал, что эти ошибки связаны с отсутствием прав администратора. Но я добавляю InstallPrivileges=elevated и InstallScope=perMachine к элементу пакета и все равно получаю ту же ошибку.

1 Ответ

0 голосов
/ 19 января 2019

Я согласен со Стейном, что вам следует использовать встроенные средства MSI / WiX для установки службы, а именно <ServiceInstall> и <ServiceConfig> элементов.

Как говорится, это ошибки вашего текущего решения:

  • Пробел между [SystemFolder] и cmd.exe.
  • Путь к исполняемому файлу не указан.
  • Относительный путь к файлу .bat. Очень хрупкий.

Возможное решение:

<CustomAction Id="InstallService" Directory="elasticsearch" Execute="deferred" Impersonate="no" ExeCommand='"[elasticsearch]bin\elasticsearch-service.bat" install' Return="check" />

Вы можете вызвать пакетный файл напрямую, не передавая его cmd.exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...