Office Produktversion per VBS auslesen und in Varaiable überführen
Hallo zusammen,
ich benötige ein VB Skript, welches mir die installierte OfficeProduktversion ausliest.
Ich muss nicht nur wissen, dass Office 2010 installiert ist, ich brauche quasi den String "Microsoft Office Professional Plus 2010" respektive "Microsoft Office Standard 2010".
Ich weiß, daß diese Info in der Registry zu finden ist und auch in etwa wo. Es ist wohl ein Key mit Namen DisplayName irgendwo unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\.
Nur wie krieg ich das raus, extrahiere das aus dem Wust an Informationen und übergebe den String in eine Variable, mit der ich weiter arbeiten kann.
Meine Suchen führten mich bisher immer nur dahin, dass ich rauskriegen, dass Office installiert ist, aber nicht welche Produktversion. Und es müsste VBS sein, kein Batch, Powershell, etc.
Meine bisherige Lösung ist etwas krude (sucht nur nach Vorhandensein eines Access-Keys):
Const HKLM = &H80000002
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKey= "SOFTWARE\Microsoft\Office\14.0\Access\Options"
strValue = "AttachIndexWarning"
objRegistry.GetStringValue HKLM,strKey,strValue
If IsNull(strValue) Then
ver="Microsoft Office 2010 Standard"
Else
ver="Microsoft Office 2010 Professional Plus"
End If
DANKE SCHON EINMAL!!!!!!!!!
ich benötige ein VB Skript, welches mir die installierte OfficeProduktversion ausliest.
Ich muss nicht nur wissen, dass Office 2010 installiert ist, ich brauche quasi den String "Microsoft Office Professional Plus 2010" respektive "Microsoft Office Standard 2010".
Ich weiß, daß diese Info in der Registry zu finden ist und auch in etwa wo. Es ist wohl ein Key mit Namen DisplayName irgendwo unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\.
Nur wie krieg ich das raus, extrahiere das aus dem Wust an Informationen und übergebe den String in eine Variable, mit der ich weiter arbeiten kann.
Meine Suchen führten mich bisher immer nur dahin, dass ich rauskriegen, dass Office installiert ist, aber nicht welche Produktversion. Und es müsste VBS sein, kein Batch, Powershell, etc.
Meine bisherige Lösung ist etwas krude (sucht nur nach Vorhandensein eines Access-Keys):
Const HKLM = &H80000002
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKey= "SOFTWARE\Microsoft\Office\14.0\Access\Options"
strValue = "AttachIndexWarning"
objRegistry.GetStringValue HKLM,strKey,strValue
If IsNull(strValue) Then
ver="Microsoft Office 2010 Standard"
Else
ver="Microsoft Office 2010 Professional Plus"
End If
DANKE SCHON EINMAL!!!!!!!!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204850
Url: https://administrator.de/forum/office-produktversion-per-vbs-auslesen-und-in-varaiable-ueberfuehren-204850.html
Ausgedruckt am: 22.04.2025 um 09:04 Uhr
4 Kommentare
Neuester Kommentar
Hi TechPriest,
diese Methode via WMI ist zuverlässiger. Sie ließt dir alle installierten Microsoft Office Produkte aus und zeigt sie dir zum Schluss an. Denke damit kannst du weiterarbeiten:
(Hinweis: Je nach dem wieviel Software auf dem Rechner installiert ist kann das einen kurzen Moment dauern.)
Grüße Uwe
diese Methode via WMI ist zuverlässiger. Sie ließt dir alle installierten Microsoft Office Produkte aus und zeigt sie dir zum Schluss an. Denke damit kannst du weiterarbeiten:
(Hinweis: Je nach dem wieviel Software auf dem Rechner installiert ist kann das einen kurzen Moment dauern.)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product where Caption like 'Microsoft Office%'")
strOfficeProducts = ""
For Each objSoftware in colSoftware
strOfficeProducts = strOfficeProducts & objSoftware.Caption & vbcrlf
Next
WScript.Echo strOfficeProducts
Grüße Uwe
Wenn du es unbedingt über die Registry machen willst hier das Nummerierungsschema der GUIDs für MS-Office
http://support.microsoft.com/kb/2186281/de
Beachte aber folgendes: Ein 32bit Office findest du auf einem x64-System in folgendem Schlüssel:
http://support.microsoft.com/kb/2186281/de
Beachte aber folgendes: Ein 32bit Office findest du auf einem x64-System in folgendem Schlüssel:
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall