Detecting anti-virus on Windows with WMI - which namespace?

dijjay picture dijjay · Oct 10, 2011 · Viewed 13.7k times · Source

I am coding a antivirus detection code and the WMI namespace differs in some cases as Win7 supports "\root\SecurityCenter2" and WinXP uses "\root\SecurityCenter".

Does anyone have a definitive list of namespaces Windows uses for anti-virus registration?

Thanks in advance..

Answer

RRUZ picture RRUZ · Oct 10, 2011

The class (AntiVirusProduct) which return information about the installed antivirus is not documented by Microsoft and only is supported in Windows Desktops editions (Windows XP, Windows Vista and Windows 7). Also depending of the Windows version the properties retrieved by the the this class can change.

Windows XP

Namespace : SecurityCenter

AntiVirusProduct-Properties

companyName
displayName
enableOnAccessUIMd5Hash
enableOnAccessUIParameters
instanceGuid
onAccessScanningEnabled
pathToEnableOnAccessUI
pathToUpdateUI
productUptoDate
updateUIMd5Hash
updateUIParameters
versionNumber

Windows Vista and Windows 7

Namespace : SecurityCenter2

displayName
instanceGuid
pathToSignedProductExe
pathToSignedReportingExe
productState

For more info you can read my article in this location Getting the installed Antivirus, AntiSpyware and Firewall software using Delphi and the WMI.