Может ли Wix3 проверить, существует ли сервис? - PullRequest
3 голосов
/ 03 октября 2011

Есть ли в Wix 3 встроенный способ просто проверить, существует ли служба?Самое близкое предположение, которое я могу придумать, это использовать ServiceConfig и пытаться обнаружить сбой.

1 Ответ

1 голос
/ 16 декабря 2011

AppSecInc.Расширения сообщества MSI имеют настраиваемое действие Service_Exists.
http://msiext.codeplex.com

Электронная документация:
http://code.dblock.org/Source/msiext/1.2/Docs/_custom_actions_2_system_tools_2_service_impl_8h.html#a6fdcddc7b04a310a368c08726d3be6b3

<Binary Id="SystemTools" SourceFile="$(var.BinDir)\SystemTools.dll" />

<CustomAction Id="SetServiceName" Property="SERVICE_NAME" Value="Service1" />
<CustomAction Id="ServiceExists" BinaryKey="SystemTools" DllEntry="Service_Exists" Execute="immediate" Return="check" />

<InstallExecuteSequence>
     <Custom Action="SetServiceName" After="InstallFiles">NOT Installed</Custom>
     <Custom Action="ServiceExists" After="SetServiceName">NOT Installed</Custom>
</InstallExecuteSequence>

Значение SERVICE_EXISTS установлено в «1», если служба существует,«0» в противном случае.

...