AutomaticUpdater .NET Framework 4 (Client Profile) Error

With VS 2010 you have the option to use either the .NET 4 Framework or the .NET 4 Client Profile. However, using the Client Profile will result in the following warning/error. You cannot use the Client Profile with the AutomaticUpdater.

Here is the specific warning about System.Design that I get while using the Client Profile:

Warning 4 The referenced assembly "AutomaticUpdater" could not be resolved because it has a dependency on "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.

That's correct. In the AutomaticUpdater control in your .NET App article we say to use the full .NET Framework 4.

Our soon-to-be-released WPF version of the AutomaticUpdater will be able to run with the Client Profile. However, the reason the Windows Forms version of the AutomaticUpdater requires .NET 4.0 Full is that Microsoft neglected to include essential functionality in the Client Profile .NET 4.0.

Will using the full .NET 4.0 Framework be a problem?

See the table on Towards a Smaller .NET 4 - Details on the Client Profile and Downloading .NET. The download size difference between Full vs. Client Profile versions of .NET 4.0 is about 5MB.

To put that in perspective, 5MB is about 16 seconds of standard definition YouTube video.

No it's not a problem at all. I just wanted to ensure everyone else was aware. Took me a minute to figure out what was going on. That's what I get for not reading the entire warning statement. 🤣

We're considering your automatic updater, but no 4.0 client profile support, is a non-starter.

We chose the 4.0 client profile for our application, because that's what Microsoft will be pushing out through Windows Update, so it will be quite common on client desktop. [1]

Also, the client profile is preferable according to Jossef Goldberg [2] for these reasons: - Reduce the Framework deployment failures.- By keeping ASP.Net and other components (that are mostly needed for servers) out of the Client Profile, we can reduce the attack surface and the number of future servicing events which may be caused by server component (such as ASP.Net) and are not needed for desktop scenarios.- Making NET4 Client Profile available on Windows Update will make sure that most desktop machines will include NET4 Client Profile over time and apps that target the Client Profile will not need to carry or install the Framework which will improve the overall deployment experience.

[1] http://www.hanselman.com/blog/TowardsAS ... ngNET.aspx [2] http://blogs.msdn.com/b/jgoldb/archive/ ... e-rtm.aspx

Hey Frederik,

You make compelling points. We'll work around the Client Profile issues and release a version of the AutomaticUpdater that works without requirement for the Full .NET 4.0 release.

Thanks for pointing out the problems.

Cool, good to hear that! Impressive response time too!

Do you have an rough estimate (days, weeks, months?) for 4.0 client support?

Our goal is to have wyBuild 2.5.x (or 2.6) with the revamped AutomaticUpdater control out in a few weeks.

Our goal is to have wyBuild 2.5.x (or 2.6) with the revamped AutomaticUpdater control out in a few weeks.

How is the support for the 4.0 Client framework coming along?

Our plan is to have it out a little later this week. The AutomaticUpdater for Client Profile is already complete, but we have a few other features coming along with it.

wyBuild 2.6 is out. The AutomaticUpdater is now compatible with .NET Framework 4.0 Client Profile.