Подробнее о том, как проверить, что служба работает в условиях запуска, см. этот поток,
Самым надежным настраиваемым действием будет вызов C ++ Dll, вставленный до
Действие LaunchConditions как в пользовательском интерфейсе, так и в последовательности Execute.
Здесь есть один пример:
http://support.microsoft.com/default.aspx?scid=kb;en-us;253683.
Ваш код пользовательского действия может проверить работоспособность службы и установить свойство
для условий запуска.
Вы можете использовать ServiceController.GetServices , чтобы вывести список служб, работающих на локальном компьютере.
ServiceController[] scServices;
scServices = ServiceController.GetServices();
// Display the list of services currently running on this computer.
Console.WriteLine("Services running on the local computer:");
foreach (ServiceController scTemp in scServices)
{
if (scTemp.Status == ServiceControllerStatus.Running)
{
// Write the service name and the display name
// for each running service.
Console.WriteLine();
Console.WriteLine(" Service : {0}", scTemp.ServiceName);
Console.WriteLine(" Display name: {0}", scTemp.DisplayName);
}
}