Reputation:
I recently read an old MSDN post that said winform and wpf apps should be targetting client profiles rather than the full profile. So, does anyone care? anyone has issues with deployment because of this?
personally, I never seem to have needed in install .NET versions ever on anyone's computer.
I'm also interested if there are any differences between corporate and consumer apps.
Upvotes: 4
Views: 670
Reputation: 942000
No, the Client Profile for .NET 4.0 was a mistake. The full version is only 15% bigger. This mistake was not repeated, .NET 4.5 doesn't have a client profile.
Technically you should create an installer that ensures the correct .NET version is installed on the user's machine. Lots of machines have 4.0 but there's no guarantee. You probably never heard a complaint about it because of a Nice Feature in .NET 4.0, it automatically installs .NET when your program is started on a machine with a previous version. The user gets a dialog, it looks like this:
It is a bit gobbledegooky but you can typically rely on most users clicking Yes.
Upvotes: 4
Reputation: 28338
The Client Profile is available as a Windows Update for most Windows operating systems. This makes it very easy for organizations to push it out across their enterprise using, for example, SUS, and for consumers to easily have it installed.
To get the full profile you need to download and run the stand-alone web installer or the full NetFX installation package.
See this answer for which operating systems already have .NET, and which versions, pre-installed. Any OS that doesn't ship with .NET 4 will need to have it pre-installed before your .NET 4 application will run, and the Client Profile makes that process much easier.
At my $DAYJOB we try to target the client profile when possible, largely because the extra things that come with the Full Profile are rarely needed for client applications; however, if we need the System.Web
stuff, for example, then we don't lose any sleep over it, and just target the full profile and move on. It adds a bit of deployment complexity, but that's the cost tradeoff you have to pay for the extra features.
FYI: we always have to install the .NET 4 Framework on new client PCs; I don't think we've run into a corporate customer yet that already had it installed. Presumably that will change as .NET 4 apps (and/or Windows 8, which has it pre-installed) gain more widespread use, but by then .NET 5 applications will start to ship and the cycle will repeat. Whether its you or someone else there's always going to be someone that's the first person to deploy .NET to a PC, so you have to be prepared for that to happen.
Upvotes: 1
Reputation: 82136
The differences between both has already been explained here. However, to answer your question:
Does anyone care?
Well yes, you at least should care. There is no point in installing the full version of the .NET Framework if you really don't have to, esp if it is going to impact things like install size, installation times etc.
personally, I never seem to have needed in install .NET versions ever on anyone's computer.
I would say that's probably just been a lucky coincidence. I would imagine if you tried to install your app on say an older OS (if you support it) say Windows XP and your app requires the lastest version of .NET Framework it wouldn't like it.
Good rule of thumb is to add it as a pre-requisites in your install :)
Upvotes: 0