Я пытался использовать этот способ установки / удаления сервисов:
<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 каким-то образом проверяет, установлены ли в файле службы, и перед тем, как перейти к моему настраиваемому действию, пытается удалить их безуспешно. И он отображает сообщение, спрашивающее сначала, что делать, а затем, что удаление не удалось.
Могу ли я заблокировать эти сообщения или попытаться удалить?