Office-Version ermitteln



  • HKEY_CURRENT_USER\Software\Microsoft\Office sollte normal auch die Versionsnummer stehen 😉



  • Jup, es steht auch in der Registry wie ich sehe. Aber dort stehen bei mir mehrere Ordner.
    Klar kann ich jetzt prüfen ob Ordner 11.0, 10.0 oder 9.0 vorhanden sind und je nachdem
    welche Zahl größer ist sagen..aha Office 2003..

    Aber es wäre halt schöner gewesen man würde die Version aus einem Pfad lesen
    können, der von Version zu Version konstant bleibt.

    Und wenn ich Office entferne? Löschen sich dann auch die Ordner aus der Registry?
    Das wäre ja mal interessant zu wissen. Hab nur grad keine Nerven
    das zu deinstallieren 😃

    Nun bleibt mir auch bei der Regsitrymethode nix anderes als zu enumerieren 😞



  • Meistens werden die Ordner nich gelöscht. Und ich vermute auch das Windows die absichtlich behält, dann nachguckt welche Ordner alles vorhanden sind, und so sich noch mehr Kundeninformationen holt.

    Das war natürlich nicht ganz komplett vollständig total absolut ernst gemeint gewesen haben sein tun müssen wollen können 😉

    Mfg Ominion



  • Lerty schrieb:

    Und wenn ich Office entferne? Löschen sich dann auch die Ordner aus der Registry?

    Schätze mal nicht. Von daher ist das wohl nicht die beste Methode.



  • Gleich der erste Link bei der Suche nach "office version winapi":

    http://www.eknori.de/archives/63



  • Ist das nicht fast identisch mit:

    Pseudocode:

    if(RegOpenKeyEx( HKEY_LOCAL_MACHINE,"software\\microsoft\\office\\10.0",0,KEY_READ, &hKey) == ERROR_SUCCESS)
    {
    MessageBox("key ist existent");
    //.. jetzt noch den installpfad auslesen und mit fileversion prüfen
    //ob man nen wert zurück bekommt. z.B. 11 oder 10. Das ist dann die 
    //officeversion
    //kein wert = auch keine winword.exe in pfad gefunden...
    }
    

    😕 und nach der Methode die du gefunden hast hilfts leider wenig.
    Denn der InstallRoot ist immer vorhanden und in Path steht auch immer etwas
    drin! Um die Dateiversion kommt man definitiv nicht rum!



  • Hallo,

    InstallRoot ist IMHO nicht eindeutig.

    Wie wär's denn mit "HKCR\Excel.Application.CurVer" bzw. "HKCR\Winword.Application.CurVer"

    Oder zuerst den Pfad von excel.exe bzw. winword.exe bestimmen und dann die Version via GetFileVersionInfo auslesen.

    Den Pfad sollte man via ASSOC/FTYPE bzw. "HKCR\.xls" -> "HKCR\Excel.Sheet.8\Shell\Open\Command" bekommen oder auch via
    "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\xyz.exe"

    cu, Bernd



  • jetzt noch den installpfad auslesen und mit fileversion prüfen

    Er hat kaum was anderes vorgeschlagen... 😉



  • Hi,

    IMHO schon 😉

    Er braucht hierzu eine Schleife um alle möglichen Versionen abzuklappern.

    cu, Bernd



  • Gibts denn ne Beschreibung welche Nummer welches Office ist? 9 ist Office 97 usw ?


Anmelden zum Antworten