What happens when you boot to safe mode and shut down - does it do so normally? Also, What is new or different since the last time everything worked properly (ie, new hw, new sw, virus, error, etc)?
If the shutdown is normal from safe mode you can try the steps below. NOTE - before editing the registry you should create a registry backup by one of the following methods:
1) Click on START - RUN and type: Regedit (press ENTER). On the menu bar click on file, then export, choose where you want to save it, then enter a name for it in the box titled: File Name. At bottom put a tick in "All", then click on save. If you ever want to restore the saved version, just IMPORT it.
2) System Restore (it should save a copy daily, but you can always create a restore point manually.
3) The best method, in my opinion, is to download and run ERUNT. It's the best registry backup utility available - and it's free!!!
Okay, now let's try this first:
1 )Start - Run - Regedit
Navigate to the following Registry key:
HKEY CURRENT USER\Control Panel\Desktop
Double click on the AutoEndTasks entry and replace the 0 with a 1 in the Value data text box
For the next two, if the dword value indicated does not exist, create it:
Double click on the WaitToKillAppTimeout entry in the right pane and change the Value data to 2000
Double click on the HungAppTimeout entry in the right pane and change the Value data to 1000
Right-click on WaitToKillServiceTimeout and change it to 2000
If that doesn't work, try this:
Open msconfig and on the General tab choose "selective startup" (uncheck all three items) and reboot. Does the problem still occur? If not, start adding items back to msconfig one or two at a time, rebooting after each change, until the problem reappears and you'll have identified the offending process. This is clearly a time consuming procedure, but it is the best way to determine if some process loading with the system is the cause of your problem.
After you've isolated the cause, do not use msconfig to permanently disable the process. Instead, if it is a service go to START - RUN and type: services.msc (then press enter) and disable the service OR, if it a program, you can download & run a simple app such as Mike Lin's Startup Control Panel (http://www.mlin.net/StartupCPL.shtml
) to enable, disable, or otherwise manage startup programs.