Windows service stops automatically


Question

I made a Window service and let it work automatically and under localsystem account, when the service starts it fires this message for me and then stops

The [service name] service on local computer started and then stopped. Some Services stop automatically if they are not in use by another services or programs.

What's the problem and what's the solution?

1
29
5/11/2012 12:17:21 PM

Accepted Answer

Either you are not starting any threads on the OnStart method to do work, or there is an exception raised within your OnStart method.

If an exception is thrown, it will appear in the Windows Event log. The Windows Event log is a good place to start in any case.

Generally an OnStart method looks like this:

Thread _thread;

protected override void OnStart(string[] args)
{
    // Comment in to debug
    // Debugger.Break()

    // Do initial setup and initialization
    Setup();

    // Kick off a thread to do work
    _thread = new Thread(new MyClass().MyMethod)
    _thread.Start();

    // Exit this method to indicate the service has started
}
38
2/11/2009 9:45:13 PM

This particular error message means what it says - that your service has started but then quite soon it exited for some reason. The good news is that your service is actually doing something, so you have the executable configured and running as a service properly.

Once started, for some reason it is quitting. You need to find out why this is. Add some debugging to tell you its up and running and known exit cases. If that doesn't reveal the problem then add some debugging to let you know it's still running and work backwards from when that stops.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon