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