Edit

Share via


SMS_InstalledSoftware Client WMI Class

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.

Syntax

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:

Value Description
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:

Value Description
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:

  • HKEY_LOCAL_MACHINE\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

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