The SMS_G_System_SoftwareProduct Windows Management Instrumentation (WMI) class is an SMS Provider server class, in Configuration Manager, that provides software product information for software files that contain resource strings.

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

Class SMS_G_System_SoftwareProduct : SMS_G_System
	 String CompanyName;
	 UInt32 ProductId;
	 UInt32 ProductLanguage;
	 String ProductName;
	 String ProductVersion;
	 UInt32 ResourceID;


The SMS_G_System_SoftwareProduct class does not define any methods.



Data type: String Access type: Read/WriteQualifiers: [ResID(6203), ResDLL("SMS_RXPL.dll")]Name of the software manufacturer taken from the company name resource string. This name can be universally changed by using the rules that are defined in SMS_SoftwareConversionRules Server WMI Class.

Data type: UInt32 Access type: Read/WriteQualifiers: [key, ResID(6202), ResDLL("SMS_RXPL.dll")]Configuration Manager-supplied ID that uniquely identifies the product. The property links this product with the software file information contained in an SMS_G_System_SoftwareFile Server WMI Class object.

Data type: UInt32 Access type: Read/WriteQualifiers: [ResID(6206), ResDLL("SMS_RXPL.dll"), Subtype("Locale Id")]Language taken from the language resource string.

Data type: String Access type: Read/WriteQualifiers:[DefaultOrder("ASC"), ResID(6204), ResDLL("SMS_RXPL.dll")]Value of the product name resource string.

Data type: String Access type: Read/WriteQualifiers: [ResID(6205), ResDLL("SMS_RXPL.dll")]Value of the product version resource string.

Data type: UInt32 Access type: Read/Write Qualifiers: [key, ResID(6201), ResDLL("SMS_RXPL.dll")]See SMS_G_System Server WMI Class.


There are no special class qualifiers for this class. For more information about both the class qualifiers and the property qualifiers included in the Properties section, see Configuration Manager Class and Property Qualifiers.

The Software Inventory Agent inventories files identified in the site control file. To identify the files to inventory, the agent:

  1. Queries the site control SMS_SCI_ClientComp Server WMI Class objects for items having the value "Software Inventory Agent" for the ClientComponentName property.

  2. Loops through the embedded property list. When the value for PropertyName is "Inventoriable Types", the agent updates the comma-delimited list of file names (including extensions) in the Value2 property. When the value for PropertyName is "Inventory Schedule", the agent updates the interval string in the Value2 property. For information about creating an interval string, see the example for the WriteToString Method in Class SMS_ScheduleMethods method. When the value for PropertyName is "Report Options", the agent updates the reporting options value in the Value property, specifying at least one reporting option for the software inventory to be collected. The following table lists the reporting options.

    Reporting option Description

    Product version information. Bit 0.

    Inventories products that contain company and product resource information.

    Files associated with known products. Bit 1.

    Inventories files associated with products that contain company and product resource information. For example, Wwintl32.dll is inventoried because it is associated with Microsoft Word.

    Set this bit only if the product version information reporting option is selected.

    Files not associated with known products. Bit 2.

    Inventories files that do not include company and product resource information (unknown files).

  3. For newly added inventory types, adds entries to the following Path, Subdirectories, and Exclude embedded property lists.

Updates the site control file. For information about updating the site control file, see Configuration Manager Site Control File.

Collecting inventory information for some files, for example, DLL files, can generate a large volume of network traffic and substantially increase the size of the Configuration Manager database. For this reason, test any changes you make in a test environment before implementing them in a production environment.


Runtime Requirements

Development Requirements

See Also

Send comments about this topic to Microsoft.