SMS_InstalledSoftware Client WMI Class

Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2

The SMS_InstalledSoftware class is a client Windows Management Instrumentation (WMI) class, in Configuration Manager, that merges installed software information from multiple sources to provide categorization and Microsoft Licensing information.

The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties.

  
Class SMS_InstalledSoftware   
{  
      String ARPDisplayName;  
      String ChannelCode;  
      String CM_DSLID;  
      String EvidenceSource; 
      DateTime InstallDate;  
      UInt32 InstallDirectoryValidation;  
      String InstalledLocation;  
      String InstallSource;  
      UInt32 InstallType; 
      UInt32 Language;  
      String LocalPackage;  
      String ProductCode;  
      String ProductID;  
      String ProductName;  
      String ProductVersion;  
      String Publisher;  
      String RegisteredUser;  
      String ServicePack;  
      String SoftwareCode;  
      String SoftwarePropertiesHash;  
      String SoftwarePropertiesHashEx;  
      String UninstallString;  
      String UpgradeCode;  
      UInt32 VersionMajor;  
      UInt32 VersionMinor;  
};

Methods

The SMS_InstalledSoftware class does not define any methods.

Properties

  • ARPDisplayName
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The product display name as found in Add or Remove Programs. An example name is "Microsoft SQL Server 2005 Tools".

  • ChannelCode
    Data type: String

    Access type: Read-only

    Qualifiers: None

    Numeric code that represents the channel through which the software product was acquired. Possible values are:

    0

    Full Packaged Product (Retail)

    1

    Compliance Checked Product

    2

    OEM

    3

    Volume

    Note

    Other values are undefined.

  • CM_DSLID
    Data type: String

    Access type: Read-only

    Qualifiers: None

    Reserved. For future use.

  • EvidenceSource
    Data type: String

    Access type: Read-only

    Qualifiers: [SMS_Report (TRUE)]

    Describes how this software was discovered.

    Value Description

    A

    Windows Installer

    B

    The software's install registry key

    C

    The software's uninstall registry key

    D

    Operating System’s Windows Installer

    E

    Operating System’s Windows NT registry setting

    M

    Internally computed property

    X

    Unknown

  • InstallDate
    Data type: DateTime

    Access type: Read-only

    Qualifiers: None

    Date and time of when the software product was installed.

  • InstallDirectoryValidation
    Data type: UInt32

    Access type: Read-only

    Qualifiers: None

    Numeric code that provides additional information about the inventoried software. Possible values are:

    1

    Because the InstalledLocation property was not available in any of the data sources, a check was not possible.

    2

    An executable file was found in the directory specified by the InstalledLocation property or in one of its subdirectories.

    3

    A file was found in the directory specified by the InstalledLocation property or in one of its subdirectories, but no executable file was found.

    4

    The directory specified by the InstalledLocation property was located, but it did not contain any executable files or other files.

    5

    The directory specified by the InstalledLocation property does not exist.

  • InstalledLocation
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The full path to the primary directory that is associated with the software.

  • InstallSource
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The full path of the directory from which the software was installed, for example, \\Software\Microsoft\SMS\Setup.exe.

  • InstallType
    Data type: UInt32

    Access type: Read-only

    Qualifiers: [SMS_Report (TRUE)]

    Describes the type of software that has been installed.

    Value Description

    0

    Physically installed

    1

    Virtually installed

  • Language
    Data type: UInt32

    Access type: Read-only

    Qualifiers: None

    The language associated with the software product.

  • LocalPackage
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The local cached package, for example, C:\Windows\Installer\9c1c748.msi.

  • ProductCode
    Data type: String

    Access type: Read-only

    Qualifiers: None

    A unique identifier for the particular product release. The identifier is represented as a GUID for Windows Installer-based applications or as the string used by the product to register with Add or Remove Programs.

  • ProductID
    Data type: String

    Access type: Read-only

    Qualifiers: None

    Vendor-generated ID that uniquely identifies the product.

  • ProductName
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The name of the installed product that is displayed to the user, for example, "Microsoft Office 2003".

  • ProductVersion
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The version of the product, for example, "5.1.1969".

  • Publisher
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The company that publishes the software.

  • RegisteredUser
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The registered user for the product.

  • ServicePack
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The major version number of the service pack that is installed on the computer. If no service pack has been installed, the value is 0 (zero). Applicable only to operating systems.

  • SoftwareCode
    Data type: String

    Access type: Read-only

    Qualifiers: [key]

    A normalized version of the ProductCode property. All characters in the string are lowercase.

  • SoftwarePropertiesHash
    Data type: String

    Access type: Read-only

    Qualifiers: None

    A unique 128-bit signature derived from a combination of the ProductName, Publisher, and ProductVersion properties of the software product.

  • SoftwarePropertiesHashEx
    Data type: String

    Access type: Read-only

    Qualifiers: None

    A unique 128-bit signature derived from a combination of the ProductName, Publisher, ProductVersion, and Language properties of the software product.

  • UninstallString
    Data type: String

    Access type: Read-only

    Qualifiers: None

    The uninstall string as registered by the product with Add or Remove Programs, for example, "MsiExec.exe /X{210C4411-95A8-4CAF-8B23-F964CF8A78F3}".

  • UpgradeCode
    Data type: String

    Access type: Read-only

    Qualifiers: None

    A GUID that represents a related set of products. Applicable only to Windows Installer-based products.

  • VersionMajor
    Data type: UInt32

    Access type: Read-only

    Qualifiers: None

    The major product version that is derived from the ProductVersion property.

  • VersionMinor
    Data type: UInt32

    Access type: Read-only

    Qualifiers: None

    The minor product version that is derived from the ProductVersion property.

Remarks

This class merges information from as many as five sources. The first source is the Windows MsiEnumProducts function. This function enumerates through all the products that are currently advertised or installed. Other sources of information for all installed software are the following registry keys:

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[User SID]\Products

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

The class also gathers information for operating system software from the following sources:

  • WMI class root\CIMV2:Win32_OperatingSystem

  • Registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Requirements

Runtime Requirements

For more information, see Configuration Manager Client Runtime Requirements.

Development Requirements

For more information, see Configuration Manager Client Development Requirements.

See Also

Concepts

Asset Intelligence Client WMI Classes
SMS_AutoStartSoftware Client WMI Class
SMS_BrowserHelperObject Client WMI Class
SMS_InstalledExecutable Client WMI Class
SMS_InstalledSoftwareMS Client WMI Class
SMS_Processor Client WMI Class
SMS_SoftwareShortcut Client WMI Class
SMS_SystemConsoleUsage Client WMI Class
SMS_SystemConsoleUser Client WMI Class