We have a custom service that runs on Windows Server 2008 R2 64 bit. It has startup type of "Automatic". However, after a reboot, the service does not start automatically. It does start if we manually start it from the service control panel. What are some possible causes of this, and how can I debug it? I examined the even log and didn't see anything special.
The Microsoft Windows Service Control Manager controls the state (i.e., started, stopped, paused, etc.) of all installed Windows services. By default, the Service Control Manager will wait 30,000 milliseconds (30 seconds) for a service to respond. Certain configurations, technical restrictions, or performance issues may result in the service taking longer than 30 seconds to start and report ready to the Service Control Manager.
By editing or creating the ServicesPipeTimeout DWORD value, the Service Control Manager timeout period can be overridden, thereby giving the service more time to start up and report ready to the service.
How to make it ?
- Go to Start > Run > and type regedit
- Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
- With the control folder selected, right click in the pane on the right and select new DWORD Value
- Name the new DWORD: ServicesPipeTimeout
- Right-click ServicesPipeTimeout, and then click Modify
- Click Decimal, type '180000', and then click OK
- Restart the computer
Note: The recommendation above increases the timeout to 180,000 milliseconds (3 minutes), but this may need to be increased further depending on your environment. Keep in mind that increasing this value will likely yield longer server boot times.
You can try to modify the log on user. Right click on the Windows Services item then select "properties", click tab "log on", in "log on as" select "This Account" then fill in the system Administrator user name and password. It's possible the account assigned to the service does not have the correct permissions to fulfill the functionality of the service. For example, if the service has to write data to a drive but the id used for the service does not have this permission, therefore causing the service to fail upon start up.