Pełne zrozumienie wersji .NET i kompatybilność wsteczna

Mam aplikację .NET 2.0 i planuję stworzyć „inteligentny instalator”, który sprawdza dostępną wersję .NET na komputerze użytkownika i instaluje dla niej mój konkretny port. Widziałem to:

System Windows XP (SP2) jest dostarczany z .NET 2.0Windows Vista jest dostarczany z .NET 3.0Windows 7 jest dostarczany z .NET 3.5Windows 8 jest dostarczany z .NET 4.5

O ile wiem, jedyną rzeczą, która nie jest kompatybilna wstecz, jest wersja CLR, która została zmieniona po .NET 4.0.

Jeśli więc nie chcę, aby użytkownik instalował dodatkowe środowisko tylko dla mojej aplikacji, powinienem mieć te wersje mojej aplikacji:

.NET 2.0 - XP (SP2 i wyższy), Vista (3.0 powinien być w stanie uruchomić 2.0) i 7 (3.5 powinien być w stanie uruchomić 2.0).NET 4.0 - jeśli ktoś zainstalował TYLKO 4.0 i nie miał innego.NET 4.5 - dla użytkowników, którzy mają system Windows 8 bez zainstalowanej innej platformy .NET

Czy mam rację? Lub 4.5 / 4.0 są kompatybilne wstecz?

EDYTUJ: Jeśli któreś z górnych danych nie jest prawidłowe, popraw mnie

questionAnswers(2)

yourAnswerToTheQuestion