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;
	DateTime InstallDate;
	UInt32 InstallDirectoryValidation;
	String InstalledLocation;
	String InstallSource;
	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: StringAccess type: Read-onlyQualifiers: NoneThe product display name as found in Add or Remove Programs. An example name is "Microsoft SQL Server 2005 Tools".
ChannelCode


Data type: StringAccess type: Read-onlyQualifiers: NoneNumeric 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: StringAccess type: Read-onlyQualifiers: NoneReserved. For future use.
InstallDate


Data type: DateTimeAccess type: Read-onlyQualifiers: NoneDate and time when the software product was installed.
InstallDirectoryValidation


Data type: UInt32Access type: Read-onlyQualifiers: NoneNumeric 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: StringAccess type: Read-onlyQualifiers: NoneThe full path to the primary directory that is associated with the software.
InstallSource


Data type: StringAccess type: Read-onlyQualifiers: NoneThe full path of the directory from which the software was installed, for example, \\Software\Microsoft\SMS\Setup.exe.
Language


Data type: UInt32Access type: Read-onlyQualifiers: NoneThe language associated with the software product.
LocalPackage


Data type: StringAccess type: Read-onlyQualifiers: NoneThe local cached package, for example, C:\Windows\Installer\9c1c748.msi.
ProductCode


Data type: StringAccess type: Read-onlyQualifiers: NoneA 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: StringAccess type: Read-onlyQualifiers: NoneVendor-generated ID that uniquely identifies the product.
ProductName


Data type: StringAccess type: Read-onlyQualifiers: NoneThe name of the installed product that is displayed to the user, for example, "Microsoft Office 2003".
ProductVersion


Data type: StringAccess type: Read-onlyQualifiers: NoneThe version of the product, for example, "5.1.1969".
Publisher


Data type: StringAccess type: Read-onlyQualifiers: NoneThe company that publishes the software.
RegisteredUser


Data type: StringAccess type: Read-onlyQualifiers: NoneThe registered user for the product.
ServicePack


Data type: StringAccess type: Read-onlyQualifiers: NoneThe 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: StringAccess type: Read-onlyQualifiers: [key] A normalized version of the ProductCode property. All characters in the string are lowercase.
SoftwarePropertiesHash


Data type: StringAccess type: Read-onlyQualifiers: NoneA unique 128-bit signature derived from a combination of the ProductName, Publisher, and ProductVersion properties of the software product.
SoftwarePropertiesHashEx


Data type: StringAccess type: Read-onlyQualifiers: NoneA unique 128-bit signature derived from a combination of the ProductName, Publisher, ProductVersion, and Language properties of the software product.
UninstallString


Data type: StringAccess type: Read-onlyQualifiers: NoneThe 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: StringAccess type: Read-onlyQualifiers: NoneA GUID that represents a related set of products. Applicable only to MSI-based products.
VersionMajor


Data type: UInt32Access type: Read-onlyQualifiers: NoneThe major product version that is derived from the ProductVersion property.
VersionMinor


Data type: UInt32Access type: Read-onlyQualifiers: NoneThe 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 Microsoft 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

Development Requirements

See Also


Send comments about this topic to Microsoft.