SpyTool: Welches .Net Framework ist installiert (Lauffähig)



  • Hallo Forum,

    ich möchte ein SpyTool entwickeln das die installierte .NET Version(en) herausfinden. Ich habe schon eine Menge im Inet gelesen. Darunter:
    http://dotnet.mvps.org/dotnet/articles/dnchk/

    1. Wenn ein Programm für .NET 1.1 oder 1.0 entwickelt wurde, sucht dieses sich dann das dazugehörige Framework oder wird immer das "neueste" genommen? (Ich habe gehört das die Frameworks nicht abwärtskompatibel sind)

    2. Wenn ein Framework nicht mit dem Registry Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\vx.x.xxxxx" in Windows vertreten ist, ist es dann überhaupt noch lauffähig? (Reicht es nicht die RegistryOrdnernamen aufzulisten)

    3. Sind die Service Packs wirklich so entscheidend für die Lauffähigkeit eines Programmes?

    Vielen Dank

    Z



  • 1. Meist sucht das Installationsprogramm vor dem installieren deiner Software nach einem vorhandenen Framework. Ist kein Framework installiert, wird dir dieses mitgeteilt und ggf. sogar automatisch installiert. Welches Version installiert wird, ist meist auch Einstellungssache des Installationsprogamm. In Visual Studio gibt es einen Installationsassistenten, indem man dieses Einstellen kann, jedoch ist dieser Assistent sehr sehr mager! Ob es den auch unter Visual C# Express gibt, kann ich grad leider nicht sagen.

    Abwärtskompatibel sind sie alle mal! Also wenn du unter .Net 2.0 mit Methoden oder klassen aus .Net 1.1 arbeitest, wird dieses auch gehen. Nur anders rum nicht (klar).

    2. Wenn kein Framework existiert, kannst du auch nicht dein unter .Net geschriebenes Programm ausführen!

    3. Klar sind Updates wichtig, da zum Beispiel Sicherheitslücken gestopft werden, oder auch viele Methoden etc. augebessert werden, wenn in denen zum Beispiel Fehler auftreten.

    Gruß
    Thorsten



  • Hallo Thorsten,

    erstmal vielen Dank für Deine Anworten. 🙂

    Zu Antwort 1: Mein SpyTool wird losgeschickt wenn eines unserer Applikationen auf einem Rechner nicht läuft. Wenn ein .Net Programm nicht zwangsläufig das neueste installiert Framework benutzt, muß das SpyTool auch alle anderen Frameworks auslesen (und auf Lauffähigkeit überprüfen). Ist es möglich das ein .Net Programm für die Ausführung ein anderes (älteres) Framework benutzt? Wie findet ein .Net Programm sein Framework?

    Das mit den RegSchlüsseln (Frage 2) ist mir noch nicht klar. Wenn ich in den C:\WINNT\Microsoft.NET\Framework Ordner gehe sehe ich dort 3 Framework Ordner: v1.0, v1.1 und v2.0.
    Wenn ich aber in die Registry gehe gibt es nur diesen Schlüssel:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
    Sind die anderen .Net Frameworks deshalb nicht mehr lauffähig? (Unsere Firma hat ein UserHelpDesk Konzept. Da werden ständig über Nacht neue Patches eingespielt oder auf neue Runtimes umgestellt. Da könnte es sein das sie mit der Löschung der RegSchlüssel den älteren .NET Runtimes die Lauffähigkeit entziehen wollten, aber wegen man-weiß-nie die Dateien erstmal auf der Platte belassen haben.)



  • @CMatt und AndreasW: Ich sehe gerade das ich die Frage im falschen Forum gestellt habe. Könntet Ihr es zum Framework Forum verschieben?
    http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html


Anmelden zum Antworten