Как правильно устанавливать сервисы WIX - PullRequest
0 голосов
/ 10 июля 2020

Я пытался использовать этот способ установки / удаления сервисов:

<Component Id="CCSServices" Guid="5187d4cf-c7b7-4f9e-9f2c-2d0557ecdf5e">
    <File Id="CCS.exe" Name="ECC" DiskId="1" Source=".." KeyPath="yes" />
    <ServiceInstall Id="CCS.exe" Type="ownProcess" Name="ECC" DisplayName="ECC 1.0.2.486" Description="description"
                            Start="auto" Account="LocalSystem" ErrorControl="normal" Vital="yes" Arguments="-s"  />
   <ServiceControl Id="CCS.exe" Stop="both" Remove="uninstall" Start="install" Name="ECC" Wait="yes" />
</Component>

Но похоже, что он копирует только exe из источника. У меня есть полная папка с .dll и журналами, которые я устанавливаю из WIX и хочу запускать службы из установленной папки. Но таким образом я не могу указать этот путь.

Я использовал для этого настраиваемого действия. Как правило, установка настраиваемого действия работает, но проблема возникает при обновлении или удалении. Я запускаю настраиваемое действие после InstallInitialize.

<InstallExecuteSequence>
        <Custom Action="TurnOffServicesEvent" After="InstallInitialize"/>               
</InstallExecuteSequence>

Но перед удалением моего действия я предполагаю, что wix каким-то образом проверяет, установлены ли в файле службы, и перед тем, как перейти к моему настраиваемому действию, пытается удалить их безуспешно. И он отображает сообщение, спрашивающее сначала, что делать, а затем, что удаление не удалось.

Могу ли я заблокировать эти сообщения или попытаться удалить?

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