Vollständiges Verständnis der .NET-Versionen und Abwärtskompatibilität

Ich habe eine .NET 2.0-Anwendung und beabsichtige, einen "intelligenten Installer" zu erstellen, der auf dem PC des Benutzers nach der verfügbaren .NET-Version sucht und meinen spezifischen Port dafür installiert. Das habe ich gesehen:

Windows XP (SP2) wird mit .NET 2.0 geliefertWindows Vista wird mit .NET 3.0 geliefertWindows 7 wird mit .NET 3.5 geliefertWindows 8 wird mit .NET 4.5 geliefert

Soweit ich weiß, ist das einzige, was nicht abwärtskompatibel ist, die CLR-Version, die nach .NET 4.0 geändert wurde.

Wenn ich also nicht möchte, dass der Benutzer zusätzliches Framework nur für meine Anwendung installiert, sollte ich über die folgenden Versionen meiner App verfügen:

.NET 2.0 - XP (SP2 und höher), Vista (3.0 sollte in der Lage sein, 2.0 auszuführen) und 7 (3.5 sollte in der Lage sein, 2.0 auszuführen).NET 4.0 - wenn jemand NUR 4.0 installiert hat und keinen anderen hat.NET 4.5 - für Benutzer mit Windows 8, auf denen kein anderes .NET installiert ist

Habe ich recht? Oder 4.5 / 4.0 sind abwärtskompatibel?

EDIT: Wenn eine der oberen Daten nicht richtig ist, korrigieren Sie mich bitte

Antworten auf die Frage(2)

Ihre Antwort auf die Frage