5

I wanted to target my .net application to .NetFramework 4(Client Profile) but later i recognized that a 3rd party control uses System.Design for implementing custom control.

Now im concerned about the users, as most will have .Net Framework 4 Client Profile installed on their system rather than .Net Framework 4 Full. Will the users find it annoying to download and install the Full Framework. But there is only a minor size difference client- 41mb and full- 48 mb.

Does most .net applications require client profile only? Also is there a alternative way to use ControlDesigner class in c# with client profile.

Please help me out.

Leniel Maccaferri
  • 100,159
  • 46
  • 371
  • 480
techno
  • 6,100
  • 16
  • 86
  • 192
  • http://stackoverflow.com/questions/2759228/difference-between-net-4-client-profile-and-full-framework-download – Wim Ombelets Apr 05 '12 at 11:03
  • @Wimbo Thanks for the link i already have read this question.But it does not give the answer i want. – techno Apr 05 '12 at 11:04
  • @techno - Just require the full .NET Framework. If somebody doesn't have it they will download it. I should point out the .NET Framework 4 is sent through Windows Update. – Security Hound Apr 05 '12 at 11:07
  • 1
    @Ramhound Thanks.But is .net framework full delivered over windows update isn't it client profile. – techno Apr 05 '12 at 11:09
  • System.Design isn't in the Client Profile, so ... yeah. I suppose deploying System.Design.dll to the client machines separately could work, but then it's easier to just give them the full framework, I guess. – Wim Ombelets Apr 05 '12 at 11:10
  • @Wimbo will the user's find it annoying – techno Apr 05 '12 at 11:11
  • 3
    FYI. For .NET 4.5 and up there will be no client and full profile anymore. "Starting with the .NET Framework 4.5, the Client Profile has been discontinued and only the full redistributable package is available." ([source](http://msdn.microsoft.com/en-us/library/cc656912%28v=vs.110%29.aspx)) – Steven Apr 05 '12 at 11:15
  • From a user's point of view, having to install anything is annoying. They just want it to work. In a corporate environment, you'd push the install, in a published application you'd probably build in a test and either package the framework along and trigger the (silent) install or initiate a web update from within your program. – Wim Ombelets Apr 05 '12 at 11:16
  • @Steven Thanks a lot Steven.I was looking for this,So there is no need to be concerned about client profile right.I think i will go with full framework.Do you know when will 4.5 be released. – techno Apr 05 '12 at 11:21
  • @Wimbo Thanks see http://msdn.microsoft.com/en-us/library/cc656912%28v=vs.110%29.aspx – techno Apr 05 '12 at 11:24
  • @techno: According to Wikipedia, 4.5 is expected somewere in 2012, but we don't know. Microsoft never publishes the official release date (till very late) to prevent companies from taking a dependency on the release date. – Steven Apr 05 '12 at 11:30

2 Answers2

2

You simply need to select the full .NET 4 framework as the Target Framework. Trying to take any shortcut around that is going to blow up in your face. Well, your user's face most of all.

This just isn't a problem. Your Setup project needs to ensure that the right profile is available on the user's machine. Which does not involve a 48 megabyte download if she already has the Client profile, the .NET installer only downloads the missing pieces.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
0

You could always have the copy set to true for System.Design and distribute that with your app.

Other than that they have to install it. There is no other way unless the 3rd party control drops the dependency.

Adam
  • 16,089
  • 6
  • 66
  • 109
  • 'copy set to true for System.Design and distribute that with your app' – techno Apr 05 '12 at 11:28
  • What you can do is Add the Reference System.Design to your application, then click on it and in properties set Copy Local to true. This will copy the DLL to your application directory when compiled. When an application runs, I forget which order it goes it but it checks the application directory then GAC for the file. So if it finds that file in your application directory first, your client machines don't need it. – Adam Apr 05 '12 at 11:32
  • Will it not compile or is it giving an error of assembly not found? – Adam Apr 05 '12 at 12:40
  • There is an error symbol on reference to the System.Design and its showing assembly not found. – techno Apr 05 '12 at 13:32
  • Do you have the full .NET framework installed? I assume you would. Or have you picked the right version? Sometimes you might see .NET 2.0 and .NET 4.0 versions – Adam Apr 05 '12 at 14:21