About Windows Installer, the .NET Framework, and Visual Studio.
Visual Studio 2005 Service Pack 1 is a big release with many fixes and lots of new features. But with several known issues related to its size, SP1 is a hot issue - maybe a little too hot.
A couple of customers were encountering a problem while when installing VS 2005 SP1 their laptops would reset - not reboot. After generating verbose logs where each line was flushed, we couldn't with any certainty diagnose the exact problem. The event would always occur around the time the Windows Installer script generation was starting, but never at the exact same time.
One customer noticed his laptop was getting fairly hot. He propped the laptop up and blew air on it with a fan. VS 2005 SP1 installed without incident. His laptop was getting so hot that it simply reset while trying to install SP1.
Windows Installer does a lot of processing, as it is basically a relational database and performs a lot of queries on tables and cursor-like operations on its own internal data structures. This is the first I've heard of where a machine gets too hot processing packages that it resets.
I'm not surprised. The SP1 installer remains 100% compute bound for up to several hours during installation - many laptops simply aren't cooled well enough to handle that kind of CPU load.
I'd really like to see devdiv work with the WI folks to figure out a more sensible way to install updates - the CPU resources used by SP1 are just ridiculous.
Consider trying the following if your machine overheats installing SP1:
1. Temporarilty lock the processor(s) into a slower frequency by running Windows' powercfg.cpl and selecting the "Power Saver" power plan. Your Intel processor will need Speed Step, or your AMD processor will need Cool and Quiet technology. A slower processor dissipates less heat. If this does not help, it may be because some OEMs' laptop cooling implementations involve slowing the processor to cool the machine, so this may be happening already.
2. Avoid making the GPU do anything it doesn't need to. For example, disable Glass, if it's enabled. Some OEMs have utilities that let you view the GPU and/or CPU temperature. I've seen a laptop get very hot to the touch because of an overheating GPU while the CPU is fine.
3. If your machine is not brand new, try blowing compressed air into the heat pipe or fan cavity to dislodge the dust bunnies. Many laptops use a heat pipe to exhaust heat. A port lets in cool air that flows near the CPU, then the GPU, then out another port with a fan assist.
4. Place your laptop on a metal desk or some other surface that will tend to act like a heat sink. The worst place for an overheating laptop is on your down comforter in bed.
Alright, you know the thing that irritates me about SP1? Taking a lot of disk space ain't so bad, right, but... it doesn't even TELL YOU THAT YOU MIGHT RUN OUT OF DISK SPACE.
Think back. Windows 3.1 installer (the ones who's bargraphs are all broken with hard drives these days). What did it do during the install? Check to see how much disk space you have free, and NOT INSTALL if you didn't have enough.
Now, here we are in 2007, install SP1 for 2005, and not only does it attempt to install when it doesn't have enough space, when it runs out of space, it blows up, and breaks other applications on my computer until I find the magic msizap utility so I can run the installer again.
Not to mention, this pops up as a automatic install in Microsoft Update! So now my computer can automatically break! Sweet!
My windows updater is popping up with this SP1 update and is one click away.. Click and Break ??
April 17, 2007
Dear Heath --
We're trying to install VS 2005 SP1 on an XP machine that should have plenty of space. It has >1 GB on C: and 58GB on E. Nevertheless the installer says that is not enough. It is looking only for apce on C: perhaps? If so, how can we tell it to look on the E: drive?
-- Frustrated AppDev
Windows Installer creates its own cache on the system drive (which is likely C: in your case). I have described this at http://blogs.msdn.com/heaths/archive/2006/10/06/VS-2005-SP1-Requires-a-lot-of-Disk-Space.aspx. You can free space using Disk Clean and then follow instructions at http://blogs.msdn.com/heaths/archive/2007/01/17/the-patch-cache-and-freeing-space.aspx and http://blogs.msdn.com/heaths/archive/2007/01/31/how-to-safely-delete-orphaned-patches.aspx.
In the first post referenced, I also describe how you can prevent Windows Installer from writing the baseline cache, but during patch uninstall you will be prompted for all original source media.
April 24, 2007
We tried everything in your book and some more dodges we thought of, but it's no go on some of our machines. By the way, the "Installer Cleanup" was tried on the MSDN library just to see what it might do; what it did was to bomb out on an unrecoverable error.
There is not enough room left on some system drives, and apparently there is no way to tell Windows Installer to use the plentiful space available elsewhere. We see that the installer directory does not occur in the Registry, so it must be hard-coded. Some of the installs also leave system drive letters hard-coded in the Registry. This we see as a fatal defect in the Installer; we are beginning to reconsider whether Windows is a viable product platform.
Anyway, we have had to give up on SP1 for VS2005. We can't install it without rebuilding entire systems on new disks and reinstalling all their software. Way too much effort for what ought to be a routine upgrade.
I recently had to reinstall windows 2003 esrver. I installedthe visual studio 2007 and then went to install the service pack 1. it fails to install becausethe installtion source is not available. I have the cd in the drive what is the problem. it is installed on my K drive along with win2k3. (long story of replacing disk and the os insisting on not making it drive D like I had before.) Any way no matter if it is from cd or web (and I have plenty of space 750 GB) it won't install. I read nothing bout any one else having this issue.
Can any one help me?
Sean, pay attention to the title of the dialog, taking note of the actual product name. The service pack targets several products, so you might be selecting the wrong MSI (i.e., it might not be "vs_setup.msi" in the CD drive's root). What does the dialog title say?