Windows SDK: Why do downloads and installs fail?

I thought it would be interesting to share a thread that I'm taking part in in the Windows SDK Forum about download failures. 

It's easy to blame download failures on the download servers, but there is really no way the web install can be "hosed." Our server farm mitigates against that problem, and the download numbers back that up. On May 1st alone over 1000 users successfully ran the web download, according to our Webmetrix tool. In my time at Microsoft, including almost five years at MSDN, we never saw a release go bad while it was on one of the download servers. Any time we tried to track download problems down, and looked at the download servers, we never saw the problem as being on the server side.

This is actually a very good thing, because it allows us to focus on the problems that you're having instead of focusing on possible problems on the download center. We've found that most of the problems with the web setup for the Windows SDK have come from one of three sources. In descending order, they are:

  • Intermittent network connections
  • Problems connecting over a proxy server - cached files, problems moving many files through the firewall, etc.
  • Code defects in the download or setup code

We have a boilerplate when users report download problems, and the first thing we advise people to do is to re-attempt the web download. If that fails, we advise people to download and mount the ISO version of the SDK. In the vast majority of cases that works. It sounds from your case that the ISO worked, but it was a really pailful and frustrating experience. I apologize for the frustration you experienced.

Late last year, as we prepared to post the Windows SDK  for Windows Vista live, we met with an expert on the download experience. He gave us some information that I thought was fascinating. It's just the nature of a web download that a certain percentage of them fail. It doesn't matter what you're downloading - Acrobat, Microsoft products, other files - there's just a certain percentage of them that will fail. There are some ways to mitigate against failure - a download manager will help. But sometimes things just fail. There's an additional problem with our web setup too. We created the web setup to be composed of many small pieces. The Windows SDK  for Windows Vista release is composed of approximately 380 different files, the largest of which is approximaly 64 MB. That's 380 different  potential points of failure.

As the Setup PM for the SDK, I take this very seriously. Quite honestly, I would love to have a quiet job where nobody reported problems with my section of the product. We're improving our code all the time, and are planning on releasing new download code for our next release that should both help with install problems and improve download speed.