Home Reference WMI Reference root CIMV2 Win32_SoftwareElement


SoftwareFeatures and SoftwareElements: A ‘SoftwareFeature’ is a distinct subset of a Product, consisting of one or more ‘SoftwareElements’. Each SoftwareElement is defined in a Win32_SoftwareElement instance, and the association between a feature and its SoftwareFeature(s) is defined in the Win32_SoftwareFeatureSoftwareElement Association. Any component can be ‘shared’ between two or more SoftwareFeatures. If two or more features reference the same component, that component will be selected for installation if any of these features are selected.

Quick Start


In this WMI class, all WMI properties are read-only. You can only read values but not change them.


Data type UInt16

A bit map containing the remote execution options for the software element.


Data type String

The internal identifier for this compilation of this software element.


Data type String

The Caption property is a short textual description (one-line string) of the object.


Data type String

The code set used by this software element.


Data type String

The Description property provides a textual description of the object.


Data type String

The value of this property is the manufacturer’s identifier for this software element. Often this will be a stock keeping unit (SKU) or a part number.


Data type DateTime

The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.


Data type SInt16

The current installed state for the software element.

$InstallState_ReturnValue = 
   -7='Not Used'
   -6='Bad Configuration'
   -4='Source Absent'


Data type String

The value of this property identifies the language edition of this software element. The language codes defined in ISO 639 should be used. Where the software element represents multi-lingual or international version of a product, the string multilingual should be used.


Data type String

Manufacturer of this software element


Data type String

The name used to identify this software element


Data type String

The OtherTargetOS property records the manufacturer and operating system type for a software element when the TargetOperatingSystem property has a value of 1 (“Other”). Therefore, when the TargetOperatingSystem property has a value of “Other”, the OtherTargetOS property must have a non-null value. For all other values of TargetOperatingSystem, the OtherTargetOS property is to be NULL.


Data type String

The path to the installed software element. If the component is a registry key,the registry roots are represented numerically. For example, a registry path of “HKEY_CURRENT_USER\SOFTWARE\Microsoft” would be returned as “01:\SOFTWARE\Microsoft”. The registry roots returned are defined as follows:RootReturned Value






Data type String

The assigned serial number of this software element.


Data type String

This is an identifier for this software element and is designed to be used in conjunction with other keys to create a unique representation of this CIM_SoftwareElement


Data type UInt16

The SoftwareElementState is defined in this model to identify various states of a software elements life cycle.
 A software element in the deployable state describes the details necessary to successful distribute it and the details (conditions and actions) required to create a software element in the installable state (i.e., the next state).
 A software element in the installable state describes the details necessary to successfully install it and the details (conditions and actions required to create a software element in the executable state (i.e., the next state).
 A software element in the executable state describes the details necessary to successfully start it and the details (conditions and actions required to create a software element in the running state (i.e., the next state).
 A software element in the running state describes the details necessary to monitor and operate on a start element.


Data type String

The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are “OK”, “Degraded” and “Pred Fail”. “Pred Fail” indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are “Error”, “Starting”, “Stopping” and “Service”. The latter, “Service”, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither “OK” nor in one of the other states.

'OK','Error','Degraded','Unknown','Pred Fail','Starting','Stopping','Service','Stressed','NonRecover','No Contact','Lost Comm'


Data type UInt16

The TargetOperatingSystem property allows the provider to specify the operating system environment. The value of this property does not ensure binary executable. Two other pieces of information are needed. First, the version of the OS needs to be specified using the OS version check. The second piece of information is the architecture the OS runs on. The combination of these constructs allows the provider to clearly identify the level of OS required for a particular software element.


Data type String

Version should be in the form .. or .



See Also

Help and Questions

  Community Content

You are cordially invited to add knowledge to this page. If you have sample code or additional information related to this WMI class, please share it. Use the comment form to send your information. We will edit and incorparate it into the reference library. Thank you!

Please do not use the comment form to submit questions. If you have questions or need assistance, visit our free forum: Help me with WMI.

Content last updated: 2013-12-27 12:19:57 (UTC).