Installierte Office Version ermitteln

Carlos J Hernandez. fragte auf OpenNTF nach einer Möglichkeit, die installierte Office Version auf dem Rechner eines Users zu ermitteln

” I am a Helpdesk Manager with some 3400 Notes users. How can I pull the MS Offices version information when a users created a ticket?”

Die einfachste Möglichkeit ist die Verwendung von @RegQueryValue ( ab Version 5.0.2 ). Der Hintergrund ist folgender:
Jede Office Version trägt einen versionsabhängigen Schlüssel ( 8.0 / 9.0 / 10.0 ) in die Registry ein. Dies ist aber noch kein eindeutiges Kennzeichen, da bei einem Update der Officeversion der Vorgängerschlüssel nicht automatisch entfernt wird. Daher muÃ? man noch weiter in die Tiefe gehen. Mit der WinAPI könnte man das Vorhandensein eines bestimmten Schlüssels abfragen. Eindeutiges Merkmal für die installierte Office version ist der Schlüssel “InstallRoot”. Dieser Schlüssel ist nur in der installierten version vorhanden.
Mit @RegQueryValue lässt sich aber nicht das Vorhandensein eines Schlüssels abfragen, sondern nur der Wert eines Schlüssels auslesen. Daher begeben wir uns auf die unterste Ebene und ermitteln im Schlüssel “InstallRoot” den Wert des Eintrags “Path”. Nur die installierte Version liefert hier einen gültigen Wert.

_retVal:=
@If(
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office 97";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office 2000";
@RegQueryValue("HKEY_LOCAL_MACHINE"; "Software\Microsoft\Office.0\Common\InstallRoot"; "Path")!="";"Office XP";
"no Office installed");
@Prompt([Ok];" ";_retVal)

DOWNLOAD