More download manager under the covers

I've received the following question enought that I decided it would make a good blog post.

Q. Why does the installation process say that it needs to download XX MB when I've either got the packages locally or if I am using the full redist package?

A. This is really a formality of how we chose to design our process.  The download size is really just the amount of package size that will be included total and not what might necessarily be downloaded from the internet.  The following are the steps that the process goes through:

  1. User chooses to install the .NET Framework
  2. The package determines what is required to install based on a number of factors including OS, Architecture, if the product is already installed.
  3. Every sub package has an associated size, which it adds up and then displays as the downloadable size.
  4. Next it looks locally for the packages, if it finds them then it uses them. Otherwise it downloads them from the web.
  5. Next it installs the queued sub packages in the right order.

The bottom line is that the download size might not have to download anything if it can find the package locally.