Can any one please help why this does not return the machine names who for sure have the software installed? I know at least 30 machines in my environment are confirmed to have this software using SCCM and manual check, but this does not show. May be incorrect query. Please help… Thanks.
((exists regapp whose (name of it = “Microsoft Project Professional 2010” ) ) OR (exists regapp whose (name of it = “Microsoft Project Standard 2010” ))) AND ((exists regapp whose (name of it = “Microsoft Project 2010 Service Pack 1 (SP1)” ) ) AND (exists regapp whose (name of it = “Hotfix for Microsoft Project 2010 (KB2536590)” ) ))
I personally prefer to query the “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” registry location to detect the presence or lack of installed software, but it does not work well in all cases.
Examples:
not exists key whose (value “DisplayName” of it as string contains “SonicWALL Global VPN Client” AND (value “DisplayVersion” of it as string as version >= “4.2.6” as version)) of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of x64 registry
exists key whose (value “DisplayName” of it as string contains “Microsoft Visio Premium 2010” AND (it >= “14.0.4763.1000” as version) of (value “DisplayVersion” of it as string as version)) of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of x32 registry