Windows 7 and some other Microsoft Operating Systems can shutdown too fast for large applications, such as a Cache instance with a large amount of data and changes, to close gracefully. This results in the instance being forced down by the OS and so causing problems on the next start up.
To solve this we can change the OS shutdown timeout values to give Cache more time to close gracefully. We do this by editing some settings in the Registry.
1.Click Start (on Win 7) and type “regedit” and make sure you run registry editor as administrator.
2.Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control and double click WaitToKillServiceTimeout entry on the right side and enter its value as 12000 (for 12 seconds ) or higher to increase the time the shutdown will wait for services to stop. This will give the Cache Service more time to close gracefully.
3.Go to HKEY_CURRENT_USER\Control Panel\Desktop , on the right pane create new string value (right click on "Desktop" in the navigation panel on the left and select "New" and then "String Value") named WaitToKillAppTimeout and give its value as 12000 (double click on your newly created WaitToKillAppTimeout and then enter a value like 12000 in the Value box). If that string already exists then double click it and enter its value as 12000 or whatever you think it will take to close any Cache/Ensemble instances.
That should give Cache or Ensemble enough time to close before the Shutdown process kills it!