August 12, 2008

.NET 3.5 SP1 - 231MB 255.5MB - Ya, It's Really That Big!!!!

I've been enjoying my time in South Padre but tonight I noticed a couple things about the newly RTM'd .NET 3.5 SP1 release. As I've previouly blogged the framework is huge and it's only getting bigger and bigger and bigger.

1) The full package is a 231MB download. .NET 3.5 RTM weighed in at 197MB so that's a 17.26% increase. Christ, I really wish my 401K would do that instead.

2) The .NET 3.5 SP1 `Client Profile` is now a 255.5MB download. Huh? Why is it bigger then the full package? I thought it was supposed to be about 26-30MB?

[Edit: The client profile download is now a broken URL.]

3) If you want to use the (initially) tiny web download / bootstrapper version (2.8mb) don't expect it to actually work if your customer is using a firewall. Then again, that's probably a good thing considering if I ran a network I wouldn't want dozens of clients pulling down a quarter of a terabyte (edit: oops Gigabyte!) in data just to run a program written in managed code.

Now I'm a huge fan of .NET, C#, VSTS, TFS, et al but I'm really at a loss for this one.

9 comments:

JohnW said...

Chris, I agree with the concerns you've raised other that the client framework - read http://download.microsoft.com/download/5/a/a/5aa86d6c-969b-42d8-bc6b-30e02bfeccf0/NETFXClientProfile_DeploymentGuide.htm for more.

Christopher Painter said...

Something is really messed up because if you follow the link to the client profile download it's 255MB.

Really, 255MB. Click it and find out.

JohnW said...

Totally agree with you. What WE have to download is huge. However, this gives us the option to deliver 28 MB packages to our XP users once we've downloaded it.

That being said...I'm not sure how helpful the client profile is at the end of the day. It's intended for client OS's that have no framework preinstalled, which is Windows XP.

Aaron Shurts said...

That's a quarter of a gigabyte btw. ;-)

A quarter of a terabyte better include a few high definition movies in the download.

Christopher Painter said...

LOL, thanks Aaron.

Dan Sniderman said...

This is a common misconception that is simply not accurate. Scott Hanselman has blogged recently on the subject at this URL http://feeds.feedburner.com/~r/ScottHanselman/~3/373222563/SmallestDotNetOnTheSizeOfTheNETFramework.aspx

The 255MB includes the SDK and other items that an end-user would never need.

For the .NET run-time - to get the latest 3.5SP1 the worst-case maximum is actually only 56MB (and that assumes no Framework before 2.0 was installed)

Obviously if you are talking about that's not insignificant, but it most likely you'd be applying VS2008SP1 - itself a very large download of course...

Christopher Painter said...

I disagree, this is not a misconception.

Let's say you are an ISV that has to support an offline installation that uses a web distribution instead of a cdrom distribution.

In that scenario you have to bring the whole package along for the ride because the bootstrapper won't be able to go online and you don't know which platform your customer might be running and *which* 60MB they might need.

This is a very real issue and I'm not incorrect or making it up.

Antoine Brunel said...

I had a look in the runtimes provided by installaware for the .Net Framework 2, 3, and 3.5
First, I could not believe why every package includes both the 32bits and 64bits versions!
Second, since we can detect which framework is installed, I do not uinderstand why Microsoft provides the framework in pieces so that online installation can be much smaller. I mean, do Microsoft consider that a lot of installations are made over the web today and not burnt on a CD?

Tonko said...

I don't get it!

I tested Client Profile on XP with no Framework and it was great - took about 15 mins to download and install.

This XP was in virtual machine so I restarted the machine, installed Framework 2.0 manually and then launched Client Profile installer. It took 54 minutes to upgrade 2.0 to 3.5 SP1.

So, instead of using Client Profile-generated setup.exe for all Framework installations am I supposed to create my own setup bootstrapper (again!) which would invoke Client Profile boostrapper only in the case OS is XP and it has no Framework?

That seems the way to go according to SamllestDotNet.

Whay can't Client Profile setup.exe be smarter when some versions of Framework are already installed?