tags:

views:

1232

answers:

4

The .Net 4 32 + 64 bit Full is 48.1 MB and the Client Profile is 41.0 MB.

Why I will prefer install the Client Profile instead of the "Full Framework"? What difference there is in that packages?

+15  A: 

This blog post explains many of the differences.

http://blogs.msdn.com/jgoldb/archive/2010/04/12/what-s-new-in-net-framework-4-client-profile-rtm.aspx

When to use NET4 Client Profile and when to use NET4 Full Framework?
NET4 Client Profile:
Always target NET4 Client Profile for all your client desktop applications (including Windows Forms and WPF apps).

NET4 Full framework:
Target NET4 Full only if the features or assemblies that your app need are not included in the Client Profile. This includes:

  • If you are building Server apps. Such as:
    o ASP.Net apps
    o Server-side ASMX based web services
  • If you use legacy client scenarios. Such as:
    o Use System.Data.OracleClient.dll which is deprecated in NET4 and not included in the Client Profile.
    o Use legacy Windows Workflow Foundation 3.0 or 3.5 (WF3.0 , WF3.5)
  • If you targeting developer scenarios and need tool such as MSBuild or need access to design assemblies such as System.Design.dll
Cameron MacFarland
This blog entry also talks about the different framework file sizes: http://www.hanselman.com/blog/TowardsASmallerNET4DetailsOnTheClientProfileAndDownloadingNET.aspx
emddudley
+4  A: 

A list of assemblies is available at Assemblies in the .NET Framework Client Profile on MSDN (the list is too long to include here).

If you're more interested in features, .NET Framework Client Profile on MSDN lists the following as being included:

  • common language runtime (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • Speech
  • XSLT support
  • LINQ to SQL
  • Runtime design libraries for Entity Framework and WCF Data Services
  • Managed Extensibility Framework (MEF)
  • Dynamic types
  • Parallel-programming features, such as Task Parallel Library (TPL), Parallel LINQ (PLINQ), and Coordination Data Structures (CDS)
  • Debugging client applications

And the following as not being included:

  • ASP.NET
  • Advanced Windows Communication Foundation (WCF) functionality
  • .NET Framework Data Provider for Oracle
  • MSBuild for compiling
Richard Szalay
+1  A: 

You should deploy "Client Profile" instead of "Full Framework" inside a corporation mostly in one case only: you want explicitly deny some .NET features are running on the client computers. The only real case is denying of ASP.NET on the client machines of the corporation, for example, because of security reasons or the existing corporate policy.

Saving of less then 8 MB on client computer can not be a serious reason of "Client Profile" deployment in a corporation. The risk of the necessity of deployment the "Full Framework" later in the corporation is higher as costs of 8 MB per client.

Oleg
The link in Cameron's answer specifies a bunch of reasons.
Ade Miller
@Ade. Of cause we are speaking all about the same things. The differences between two packages are well known. I want only clear say, that the only serious reason of usage of "Client Profile" is the **requirement to deny ASP.NET** on the client computers. All other technical details are not really important.
Oleg
+1  A: 

Cameron MacFarland nailed it.

I'd like to add that the .Net4 client profile will be included in Windows Update and future Windows releases. Expect most computers to have the client profile, not the full profile. Do not underestimate that fact if you're doing B2C sales.

Simon P.