windowswmiantivirusantivirus-integration

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


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..


Solution

  • 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.