While I have seen this on Vista, in the dim and distant past, I have had this happen to me, regularly, on new installs of Windows 7, from an original initial release DVD, which then have to go through all of the updates, from scratch, including SP1. I found that, on every install, the updates would hang somewhere about 150 updates in, in a very similar manner to which you are describing. It is as if there are a few mutually exclusive "locks" at a certain point during these mega updates, where the updates may end up conflicting with eachother, and Windows gets itself into a bit of a tizz.
I would forcefully shut the PC down, after having waited innumerable hours, and upon startup Windows would be, initially, somewhat confused, but eventually sort itself out, after re-enumerating which updates has successfully been installed and which had not.
I suspect that Vista does the same enumeration of completed updates.
If the machine really does end up getting confused then this guide could help, Windows updates stuck on Shutdown or reboot – “Installing Update…”.
Do not turn off your machine or reboot it as you will just get stuck on the “Installing Updates…” message again. The reason this is happening is because of a corrupt update or a corrupt update database. Either way, the fix is pretty simple if you have a basic understanding of computers.
There is a folder under the Windows directory called “SoftwareDistribution”. This folder is where all Windows Updates are downloaded to and run from as well as the Windows Update database being in here. So, if it is corrupt, we need to get rid of it and recreate it from scratch – this will fix your problems.
First of all, you cannot just go in and delete or rename the folder, there is a Windows Update service running that will stop you from doing this. So, the plan is to stop the service, rename the current folder, start the service again which will then in turn recreate your SoftwareDistribution folder and Windows Update database.
Open an Admin Commnad prompt and run
net stop wuauserv ren c:\windows\softwaredistribution sd.old net start wuauserv
Once this has restarted, you should now notice that the SoftwareDistribution Folder has been recreated – you should now restart your computer and you should notice that it reboots without any problems.
But wait – there is one last thing that you need to be aware of. As you have now completely removed the old SoftwareDistribution database, when you next run Windows Updates, it will not know that it has been run before and may through an error. Ignore this and just click “Check for Updates”. It will then check the machine, see that it has a number of updates and catch up with itself again.
As an aside, I would recommend that you do not use Vista, unless it is for a Vista specific bug tracking or support issue, and upgrade to Windows 7 instead - it is much more efficient and stable. Vista was arguably, one of the worst versions of Windows that was ever released, on a par with ME.
It could boost performance if you can find a dirt cheap old Windows 7 disk, with license, on eBay or in a market. I have a lot of old laptops that were designed for XP, and they run Windows 7 just fine - however, Vista just made them run dog slow