I had installed .NET Framework 4 in my system. It says that .NET Framework 4 is backwards compatible with all previous versions. But an application installer still asks me to install .NET Framework 3.5 SP1.

What should I do to make the installer aware of .NET 4's presence?

Is it necessary to install .NET. 3.5 SP1 too? (It is a big setup, ~250 MB.)

  • 1
    (It is a big setup, ~250 MB.) - Only if you download the x86, x64 and Itanium combined release. Otherwise it's 56mb, tops: hanselman.com/blog/… – ta.speot.is Apr 27 '11 at 0:49

Backward compatibility simply means that code written for 3.5 will not break when re-compiled for .NET 4.0. This is not the same as it running under .NET 4.0.

  • +1 couldn't have said it better myself. Microsoft's scheme for upgrading the .NET framework has always been screwy. – Evan Plaice Jun 15 '10 at 8:48
  • I cannot understand this. Why? It's not that much changed, just new features added, but the CLR shouldn't have changed much, has it? Flash, Java, etc. can run older code, why can't .NET? – Camilo Martin Feb 2 '12 at 22:42
  • 1
    I think that have smth to do with CLR changes - CLR that .NET 3.5 runs on is not the same that .NET 4.0 runs on – chester89 May 12 '12 at 6:30

...However, Microsoft now (as of XP and newer architectures) supports the side-by-side ideology. Meaning if you cannot get the Mainstream OS patches to work then run every version side by side! This they borrowed from UNIX linker logic which we've been doing since the '80s. Took 'em long enough to catch on eh?


I should add that actually setting up a computer for this practice is somewhat risky. If security patches or service packs come down for say .NET Framework 4 and you have .NET Framework 1.1 SP1, 2.0 SP2, 3.5 SP1 all setup and working then your registry and hard drive can be left in shambles as the service pack attempts to upgrade all the previous versions to .NET 4.0 SP whatever.

IF you do this practice be sure to plan far ahead. Turn off automatic updates. Use virtual machines. Download and plan your own updates by uninstalling and installing full versions (not patches) of any .NET packages, etc. Never trust that the Mainstream update service is in league with the side-by-side effort.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.