Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET 3.5 Redistributable -- 200 MB? Other options?

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?

like image 847
Jeremy Privett Avatar asked Aug 08 '08 22:08

Jeremy Privett


People also ask

Is .NET 3.5 still needed?

So to answer your question you only need both if your application uses features from both or altenatively you have separate web applications that use . NET 3.5 and . NET 4.0.

How do I enable NetFx3 on Windows 10 offline?

Create a . bat script with the following command: copy \server\sharename\sources\sxs C:\Temp break dism /online /enable-feature /featurename:netfx3 /source:C:\Temp /limitaccess exit.


Video Answer


4 Answers

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:

.net 3.5 SP1 Bootstrapper

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.

like image 164
Michael Stum Avatar answered Oct 07 '22 23:10

Michael Stum


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

like image 34
David Wengier Avatar answered Oct 08 '22 01:10

David Wengier


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.

Here is a nice overview.

I don't know if this will keep the download under two minutes or not, but it should get you quite a bit closer.

like image 40
Nathan Avatar answered Oct 08 '22 00:10

Nathan


The Client Profile has got better (and smaller) in .NET 4 see

  • Towards a Smaller .NET 4 - Details on the Client Profile and Downloading .NET
  • What’s new in .NET Framework 4 Client Profile RTM
  • .NET Framework Client Profile (MSDN)
like image 38
Ian Ringrose Avatar answered Oct 08 '22 00:10

Ian Ringrose