17

We have just upgraded our existing .NET application to compile against .NET 4.0. Our app is a WPF client app that gets installed on end user's machines, so it seems like a natural fit to use the Client Profile. However, we would have to do some reorganization of the code to make this work (some of our code is shared between the client app and different server apps, so we have an indirect dependency on System.Web).

My question is, what benefit would we gain from doing this work?

  • Is .NET 4 Client Profile already installed on more machines than .NET 4 full? I understand that Client Profile is rolled out with Windows Update, but I have been unable to find any actual statistics about their respective install bases.

  • Is Client Profile faster/less buggy to install? 41MB vs. 48MB install size isn't much difference for me since our app has about 1GB of multimedia resources.

  • Are there other benefits to Client Profile that I'm not thinking of?

Thanks for any responses!

Charles
  • 50,943
  • 13
  • 104
  • 142
Joe Strommen
  • 1,236
  • 10
  • 18
  • I guess as you have 1GB of added resources with your application, the framework it runs on is a minor issue. – Tim Lloyd Dec 28 '10 at 22:56
  • To clarify the 1GB thing - these are optional multimedia files translated into several languages. The typical user will only install a fraction of these, but we include all of them on our install CDs. But yes - the size of these makes the 7MB of savings a non-issue. – Joe Strommen Dec 28 '10 at 23:52
  • Navigate to http://stackoverflow.com/q/2759228/809009 to see the real size difference. In a short version, it is 110 MB difference when installed, so technically, it still shouldn't bother you. – Ondrej Janacek Aug 27 '13 at 08:11

2 Answers2

7

The primary case for the client profile is that it's a smaller install and thus more broadly palatable in areas with slow or expensive internet connections, especially when installing from the internet.

If you have a controlled customer base or a well-connected customer base, I doubt it would be worth the cost to eliminate your dependency. If, on the other hand, you want an application that will be more broadly available to more users, it may be worth targeting the client profile.

Greg D
  • 43,259
  • 14
  • 84
  • 117
  • 1
    As Joe has already mentioned, the difference in size is only 7 MB. Even on a 56.6k dial-up, that's not much of a difference. – CadentOrange Dec 28 '10 at 22:25
  • 6
    Some people actually care about 7 MB. – Greg D Dec 28 '10 at 22:41
  • 2
    +1 @Greg Although I'd be more concerned with the 1GB of resouces the OP mentions! – Tim Lloyd Dec 28 '10 at 22:48
  • It is useful in environments/applications that do not have any ASP .NET/WCF or MSBuild dependencies, kind of like a selective install. – Dmitry S. Dec 28 '10 at 22:59
  • If someone's connection is such that 7MB matters, anything between 40 and 50 MB qualifies as "go to lunch, it might be done when you're back." – JYelton Jun 28 '12 at 20:57
2

Is .NET 4 Client Profile already installed on more machines than .NET 4 full?

Firstly, you're asking this question wrong.

If you target Client Profile, you run on both Full and CP. If you target Full, you run only on Full. So even if CP is installed on fewer machines than Full, there are more people for whom it will Just Work.

But even so, there are some statistics from the users of a certain website here:

4.0, full:    5.6%
4.0, client: 28.3%

The difference is pretty significant, though the sample size is small and so the uncertainty is high.

If you really want to increase the number of people for whom it will Just Work, though, it's much more important to downgrade to 3.5, since only about half of web users have a 4.0 install (this graph probably counts both Full and CP). But that's probably impractical, especially if you have third-party 4.0 libraries.

Roman Starkov
  • 59,298
  • 38
  • 251
  • 324