29
votes

Are there any good reasons to use .NET Framework 4 Client Profile instead of the full version?

I mean, real-life reasons. I am creating a .NET application, and since it's quite easy to create an installer that will install the .NET framework on a client machine, why bother using the Client Profile?

4
Arguably, the fact that Microsoft has discontinued the client profile for .NET 4.5 suggests that the benefits of faster deployment and a smaller install package are marginal at best. - Joe

4 Answers

21
votes

The documentation answers this:

The .NET Framework 4 Client Profile is a subset of the .NET Framework 4 that is optimized for client applications. It provides functionality for most client applications, including Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF), and ClickOnce features. This enables faster deployment and a smaller install package for applications that target the .NET Framework 4 Client Profile.

A smaller install package could be a bonus, especially if you're targeting non-traditional devices like tablets with less storage space. It's also a shorter download time if the Framework needs to be installed.

8
votes

Applications that target the .NET Framework 4 Client Profile typically improve the deployment experience by having smaller download sizes and quicker install times. An application that targets the .NET Framework 4 Client Profile has a smaller redistribution package that installs the minimum set of client assemblies on the user's computer, without requiring the full version of the .NET Framework 4 to be present.

3
votes

A good answer can be found in Stack Overflow question Differences between Microsoft .NET 4.0 full Framework and Client Profile. Basically, only use the full framework if you know you need to. Normal client applications should only need the client framework.

2
votes

Some reasons:

  • The client profile has been available as a recommended update on Windows Update since Vista (ref: http://support.microsoft.com/kb/982670), so chances are you don't need to install it at all on your target machines
  • being a separate profile it will be updated separately (so clients will not need to update as much, if a security patch for a server-only feature is released)