The trick is to increase the time before timeout is called. The default windows timeout is 30 seconds. Increased it on 2 minutes and all services started from the first time!
To increase this value to 2 mins (120 seconds), follow these steps:
1. Click Start, click Run, type regedit, and then click OK.
2. Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
3. In the right pane, locate the ServicesPipeTimeout entry. Note If the ServicesPipeTimeout entry does not exist, you must create it. To do this, follow these steps:
a. On the Edit menu, point to New, and then click DWORD Value.
b. Type ServicesPipeTimeout, and then press ENTER
4. Right-click ServicesPipeTimeout, and then click Modify.
5. Click Decimal, type 120000, and then click OK. This value represents the time in milliseconds before a service times out.
Note: 120000 milliseconds (2 minutes) is equal to what the default configuration should be. You may find you need increase this number. 300000 (5 minutes) may be more suitable.
6. Restart the computer.