Reputation: 4455
I've been using a lot of new .NET 3.5 features in the work that I've been doing, lately. The application that I'm building is intended for distribution among consumers who will probably not have the latest version (or perhaps any version) of the .NET framework on their machines.
I went to go download the .NET 3.5 redistributable package only to find out that it's almost 200 MB! This is unacceptable for my application, because it's supposed to be a quick and painless consumer application that installs quickly and keeps a low profile on the user's machine. For users that have .NET 3.5 already installed, our binary downloads have been instantaneous, so far. This 200 MB gorilla will more than quadruple the size of the download. Is there any other option than this redistributable package that I can use to make sure the framework is on the machine that won't take the user out of our "quick and painless" workflow? Our target time from beginning of download to finalizing the install is less than two minutes. Is it just not possible for someone who doesn't already have .NET installed?
Upvotes: 19
Views: 12041
Reputation: 51907
The Client Profile has got better (and smaller) in .NET 4 see
Upvotes: 2
Reputation: 180944
That's one of the sad reasons i'm still targeting .net 2.0 whenever possible :/
But people don't neccessarily need the full 200 MB Package. There is a 3 MB Bootstrapper which will only download the required components:
However, the worst case scenario is still a pretty hefty download. Also, see this article for a more detailed explanation on the size and an alternative workaround to the size problem.
Addition: Since answering this question, Scott Hanselman created SmallestDotNet.com, which will determine the smallest required download. Doesn't change the worst case scenario, but is still useful to know.
Upvotes: 21
Reputation: 30519
For the record, .Net Framework 3.5 SP1 is required for Microsoft SQL Server 2008 to install and RTM'd around the same time as the release this week. Still a hefty install but you can extract the client profile from it. Just not to sure how.
Upvotes: 1
Reputation: 10179
Once .NET Framework 3.5 SP1 comes out (should be fairly soon) there will be a second option of frameworks, namely the "Client Profile", which is a cut-down framework that only weighs in about about 30Mb from memory. It doesn't include all of the namespaces and classes of the full framework, but should be enough for most common apps in theory. It can be upgraded to the full framework if necessary (eg. if an update to your software introduces a new dependency)
More more information, see here: BCL Team blog
Upvotes: 12
Reputation: 24340
Also, it is worth including (in some fashion) the Service Pack downloads as well. In fact, depending on how your executables are built, you might be forced to install the Framework and the Service Packs.
Upvotes: 1
Reputation: 12300
Have you looked at the .NET Framework Client Profile? It is much smaller than the full redistributable package and is optimized for delivering just the functionality needed for smart clients.
I don't know if this will keep the download under two minutes or not, but it should get you quite a bit closer.
Upvotes: 5