I have a .NET 2.0 application and I plan to make a 'smart installer' which checks for the available .NET version on the user's PC and install my specific port for it. I saw that:
- Windows XP (SP2) comes with .NET 2.0
- Windows Vista comes with .NET 3.0
- Windows 7 comes with .NET 3.5
- Windows 8 comes with .NET 4.5
As far as I know, the only thing that's not backward compatible is the CLR version, which is changed after .NET 4.0.
So if I don't want the user to install additional framework just for my application, I should have these versions of my app:
- .NET 2.0 - XP (SP2 and upper), Vista (3.0 should be able to run 2.0) and 7 (3.5 should be able to run 2.0)
- .NET 4.0 - if someone installed 4.0 ONLY and have no other
- .NET 4.5 - for the users that have Windows 8 with no other .NET installed
Am I right? Or 4.5/4.0 are backward compatible?
EDIT: If any of the upper data isn't right, please correct me