views:

81

answers:

3

Hi,

I have written a windows service and has set its startup type to be 'Automatic'. But after installing the service a user can change its type to 'disabled'.

Is there a way by which I can identify the status of this service after service installation? Can I prevent a user from changing the startup type so that it will always be 'Automatic'?

Thanks

A: 

You can't really prevent the user from disabling it, except with operating system permissions, unless you're going to be the only admin for the box, you're not going to have that kind of control.

You can use a 3rd-party monitoring tool such as Nagios to monitor services across all your servers, and alert you when they stop running. This has other benefits as it also allows you to monitor many other things, such as MSMQ queue lengths, disk space and memory usage (in fact anything in the performance counters).

Neil Barnwell
A: 

see ServiceController.Status Property

ArsenMkrt
A: 

There is no API for doing this, but you can check the service start mode in the registry, at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName\Start. That value will be either 2 (automatic), 3 (manual), or 4 (disabled).

jimrandomh