I have been working with a program that runs as a windows service on Windows 2012. In order to simulate a long startup, I added code to sleep for a second in a loop and delay setting dwServiceStatus to SERVICE_RUNNING. dwCheckPoint is updated every time through the loop by calling SetServiceStatus with the updated checkpoint value. All works well as long as I set the service status to SERVICE_RUNNING before two minutes. If I delay longer than 2 minutes, 1053 error occurs (The service did not respond in a timely fashion).
Documentation suggests that ServicesPipeTimeout should allow me to increase the time so I modified HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServicesPipeTimeout and set its value to 300000 decimal (5 minutes) and rebooted. I still get 1053 after 2 minutes so I wonder if this registry value is what controls the service state timeout value in Windows 2012 or if something else needs to be configured ? Is there some hard limit for a maximum timeout value? If this should work, any suggestions how I can investigate why it isn't working for me ?
Thanks.