Take the 2-minute tour ×

I've searched but didn't find appropriate answer, so i create my own question. We have a few Windows 2003 SP2 servers, each running .NET services launched from both local machine and windows share. But already second time we get error: Error 1053: The service did not respond to the start or control request in a timely fashion when trying to restart services on one specific server, second works as it should be. Share with executable is available, opens normally, have right permissions. So everything looks the same on both servers, but one gives that errors to all services we launch. If we reboot that server- it's working ok for a few days or a week, and then it starts again.

Anyone have suggestions what can that be?

share|improve this question

2 Answers 2

There is a hot fix available form Microsoft


This problem occurs because the Iisutil.dll DLL adds an access control entry (ACE) to the desktop security descriptor for the services that run in the system context. The ACE lets the Microsoft Internet Information Services Worker Process Group (IIS_WPG) account log on to the system service desktop. However, if another process sets the desktop security descriptor for the services that run in the system context to a null value, Iisutil.dll changes the discretionary access control list (DACL). Iisutil.dll changes the DACL list so that any service that uses the noninteractive local system account cannot log on.

share|improve this answer

Anyone have suggestions what can that be?

Not what you want to hear, but it could be almost anything. At the moment, all you really know is the service is sometimes taking too long to either startup or shutdown.

You really need to go back to whoever developed the .Net services to see if they can help you diagnose the issue.

But before that I would recommend that, instead of using restart, you try stopping and starting the service as two distinct actions (with a short delay between them). This may help determine if the problem is when shutting down the service or when starting back up. They might also find it useful if you can determine how long a successful start and stop take.

You should also check the event log to see if any other information is recorded.

When a service starts, the initial startup phase is supposed to be complete within a specific time (normally 30 seconds). Hence a service would normally try to keep the amount of code in this section to a minimum and starts a background thread to perform the rest of the work.

Similarly when you stop a service, it is supposed to complete that process within a specific time (normally 20 seconds). This means that any long running operation should be written in such a way that it can be cancelled if the service is being shutdown, rather than waiting until the operation has completed.

Anything that causes the total startup or shutdown period to exceed the limit will cause the error you are seeing.

To give you a few examples that could cause the error. Suppose on startup, your service is performing a DNS lookup for a computer/server name. This would normally take milliseconds, but if the DNS is incorrectly configured on the server, this could take 15 seconds or more to complete, which maybe enough to take the total time to startup over the limit. The second attempt may have the DNS entry cached and hence work within the proper time limit.

Another possibility is that the service is relying on a device or resource that has gone to sleep and the time it takes to wake it up is taking it over the limit. When you try the service the second time, the device has already awake and responds in a timely manner.

If the .Net services are widely used, you might get lucky and find that someone else on the internet has had a similar problem and has found a solution. But the actual cause depends very much on what the service is actually doing when you startup and shutdown, which is why you would be better talking to the developers.

share|improve this answer

Your Answer


