Hi again.
Hope this works for you. It checks the Win32Reg_AddRemovePrograms for Adobe, if adobe is found it checks for "Reader" (and i also included a check for "update" cause often you have two or more instances of the program where only one is the original and all other are updates and crap.)
Edit: Sorry, missed the part that u DIDNT search for Reader, now the code is corrected and searches for everything beside reader and update.
------------------
on Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
sProgram = UCASE("Adobe")
sProgram2 = UCASE("Reader")
sProgram3 = UCASE("Update")
arrComputers = Array(".")
For Each strComputer In arrComputers
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32Reg_AddRemovePrograms", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
sString = UCase(objItem.DisplayName)
sFound = InStr(sString, sProgram)
' Msgbox sString
If sFound > 0 Then
sFound2 = InStr(sString, sProgram2)
sFound3 = InStr(sString, sProgram3)
If sFound2 = 0 and sFound3 = 0 Then
WScript.Echo "DisplayName: " & objItem.DisplayName & VbCrLf & _
"InstallDate: " & objItem.InstallDate & VbCrLf & _
"ProdID: " & objItem.ProdID & VbCrLf & _
"Publisher: " & objItem.Publisher & VbCrLf & _
"Version: " & objItem.Version
End If
End If
Next
Next
-------