Installierte .Net Version herausfinden



  • Hallo Forum,

    wie kann ich die aktuelle installierte .Net Version herausfinden. Bei Java könnte ich "java -version" starten. Wie kann ich das bei .Net machen?
    Mein Programm soll in Plain C laufen. Ich kann also nicht vorraussetzen das irgendwas auf dem Zielrechner installiert ist.

    Viele Grüße

    Malte



  • Eine Möglichkeit wäre WMI mit Win32_Product. Liefert bei mir u.a.:

    Caption: Microsoft .NET Framework 1.1
    Description: Microsoft .NET Framework 1.1
    IdentifyingNumber: {CB2F7EDD-9D1F-43C1-90FC-4F52EAE172A1}
    InstallDate: 20040619
    InstallDate2: 20040619000000.000000-000
    InstallState: 5
    Name: Microsoft .NET Framework 1.1
    PackageCache: C:\WINDOWS\Installer\34d55b.msi
    Vendor: Microsoft
    Version: 1.1.4322
    ----------------------------
    Caption: Microsoft .NET Framework 2.0
    Description: Microsoft .NET Framework 2.0
    IdentifyingNumber: {7131646D-CD3C-40F4-97B9-CD9E4E6262EF}
    InstallDate: 20061014
    InstallDate2: 20061014000000.000000-000
    InstallState: 5
    Name: Microsoft .NET Framework 2.0
    PackageCache: C:\WINDOWS\Installer\18b57e1.msi
    Vendor: Microsoft Corporation
    Version: 2.0.50727
    ----------------------------
    Caption: Microsoft .NET Framework 3.0
    Description: Microsoft .NET Framework 3.0
    IdentifyingNumber: {15095BF3-A3D7-4DDF-B193-3A496881E003}
    InstallDate: 20070106
    InstallDate2: 20070106000000.000000-000
    InstallLocation: c:\WINDOWS\Microsoft.NET\Framework\v3.0\
    InstallState: 5
    Name: Microsoft .NET Framework 3.0
    PackageCache: c:\WINDOWS\Installer\27155a8.msi
    Vendor: Microsoft Corporation
    Version: 3.0.04506.30



  • Hallo Jochen,

    ich müsste also diesen Source nach C übertragen:
    http://www.windows.ethz.ch/windows/Scripting/WSH_beispiele.htm

    Wenn Du zufällig ein kleines Beispiel hast wäre ich Dir sehr dankbar. Ansonsten werde ich erstmal PlanetSource&Co abklappern.

    Vielen Dank

    Malte



  • Der offiziell Weg scheint aber so zu gehen:

    CLR Version Detection Technology Sample
    http://msdn2.microsoft.com/en-us/library/ydh6b3yb.aspx

    PS: Warum willst Du *nur* C verwenden? C++ kannst Du doch auch verwenden, oder?



  • Vielen Dank für das Beispiel.

    C++ geht auch. Nur leider stehe ich nicht so in der Sprache drin...


Anmelden zum Antworten