...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?
http://msdn.microsoft.com/en-us/library/8477k21c.aspx
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.