Win32_SoftwareElement class

The Win32_SoftwareElement WMI class represents a software element, part of a software feature (a distinct subset of a product which may contain one or more elements). Each software element is defined in a Win32_SoftwareElement instance, and the association between a feature and its Win32_SoftwareFeature instance is defined in the Win32_SoftwareFeatureSoftwareElements association class.

Note

For more information about support or requirements for installation on a specific operating system, see Operating System Availability of WMI Components.

The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties. Properties and methods are in alphabetic order, not MOF order.

Syntax

[Provider("MSIProv"), Dynamic]
class Win32_SoftwareElement : CIM_SoftwareElement
{
  uint16   Attributes;
  string   BuildNumber;
  string   Caption;
  string   CodeSet;
  string   Description;
  string   IdentificationCode;
  datetime InstallDate;
  sint16   InstallState;
  string   LanguageEdition;
  string   Manufacturer;
  string   Name;
  string   OtherTargetOS;
  string   Path;
  string   SerialNumber;
  string   SoftwareElementID;
  uint16   SoftwareElementState;
  string   Status;
  uint16   TargetOperatingSystem;
  string   Version;
};

Members

The Win32_SoftwareElement class has these types of members:

Properties

The Win32_SoftwareElement class has these properties.

Attributes

Data type: uint16

Access type: Read-only

Bitmap that contains the remote execution options for the software element.

BuildNumber

Data type: string

Access type: Read-only

Number of the build.

Caption

Data type: string

Access type: Read-only

Short textual description of the object.

CodeSet

Data type: string

Access type: Read-only

Code set used by the software element.

Description

Data type: string

Access type: Read-only

Description of the object.

IdentificationCode

Data type: string

Access type: Read-only

Manufacturer's identifier for this software element. Often this is a stock keeping unit (SKU) or part number.

InstallDate

Data type: datetime

Access type: Read-only

Object was installed. This property does not need a value to indicate that the object is installed.

InstallState

Data type: sint16

Access type: Read-only

Current installed state for the software element.

Value Meaning
-7
Not Used
-6
Bad Configuration
-4
Source Absent
-1
Error
2
Absent
3
Local
4
Source

LanguageEdition

Data type: string

Access type: Read-only

Language edition of this software element. The language codes defined in ISO 639 should be used. Where the software element represents a multilingual or multiple international version of a product, the string "multilingual" should be used.

Manufacturer

Data type: string

Access type: Read-only

Manufacturer of the software element.

Name

Data type: string

Access type: Read-only

Name used to identify the software element.

OtherTargetOS

Data type: string

Access type: Read-only

Records the manufacturer and operating system type for a software element when the TargetOperatingSystem property has a value of 1 (Other). When TargetOperatingSystem has a value of 1, OtherTargetOS must have a non-null value. For all other values of TargetOperatingSystem, OtherTargetOS is NULL.

Path

Data type: string

Access type: Read-only

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:

Value Meaning
00
HKEY_CLASSES_ROOT
01
HKEY_CURRENT_USER
02
HKEY_LOCAL_MACHINE
03
HKEY_USERS

SerialNumber

Data type: string

Access type: Read-only

Assigned serial number of the software element.

SoftwareElementID

Data type: string

Access type: Read-only

Identifier for the software element and is designed to be used in conjunction with other keys to create a unique representation of this Win32_SoftwareElement instance.

SoftwareElementState

Data type: uint16

Access type: Read-only

Various states of a software element's 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 (that is, the next state). A software element in the installable state describes the details necessary to successfully install it and details conditions and actions required to create a software element in the executable state (that is, the next state). A software element in the executable state describes the details necessary to successfully start it and details conditions and actions required to create a software element in the running state (that is, the next state). A software element in the running state describes the details necessary to monitor and operate on a start element.

Value Meaning
1
Deployable
2
Installable
3
Executable
4
Running

Status

Data type: string

Access type: Read-only

Current status of the object. Various operational and non-operational statuses can be defined. Operational statuses include: OK, Degraded, and Pred Fail (an element, such as a SMART-enabled hard disk drive, can function properly but predict a failure in the near future). Non-operational statuses include: Error, Starting, Stopping, and Service. Examples of 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.

Values are:

"OK"

"Error"

"Degraded"

"Unknown"

"Pred Fail"

"Starting"

"Stopping"

"Service"

TargetOperatingSystem

Data type: uint16

Access type: Read-only

Provider's choice of 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 operating system must be specified using the operating system version check. The second piece of information is the architecture the operating system runs on. The combination of these constructs allows the provider to clearly identify the level of operating system required for a particular software element. The possible values for this property are as follows.

Value Meaning
0
Unknown
1
Other
2
MACOS
3
ATTUNIX
4
DGUX
5
DECNT
6
Digital Unix
7
OpenVMS
8
HPUX
9
AIX
10
MVS
11
OS400
12
OS/2
13
JavaVM
14
MSDOS
15
WIN3x
16
WIN95
17
WIN98
18
WINNT
19
XP
20
NCR3000
21
NetWare
22
OSF
23
DC/OS
24
Reliant UNIX
25
SCO UnixWare
26
SCO OpenServer
27
Sequent
28
IRIX
29
Solaris
30
SunOS
31
U6000
32
ASERIES
33
TandemNSK
34
TandemNT
35
BS2000
36
LINUX
37
Lynx
38
XENIX
39
VM/ESA
40
Interactive UNIX
41
BSDUNIX
42
FreeBSD
43
NetBSD
44
GNU Hurd
45
OS9
46
MACH Kernel
47
Inferno
48
QNX
49
EPOC
50
IxWorks
51
VxWorks
52
MiNT
53
BeOS
54
HP MPE
55
NextStep
56
PalmPilot
57
Rhapsody

Version

Data type: string

Access type: Read-only

Version of the software element. Values should be in the form [Major].[Minor].[Revision] or [Major].[Minor][letter][revision].

Remarks

Any component can be shared between two or more Win32_SoftwareFeature instances. If two or more features reference the same component, that component is selected for installation if any of these features are selected.

The Win32_SoftwareElement class is derived from CIM_SoftwareElement.

Requirements

Minimum supported client
Windows XP
Minimum supported server
Windows Server 2003
Namespace
Root\CIMV2
MOF
Msi.mof
DLL
Msiprov.dll

See also

Installed Applications Classes