# Class CIM_SoftwareInstallationService
extends CIM_Service

A subclass of service which provides methods to install (or update) Software Identities in ManagedElements.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_SoftwareInstallationService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | A subclass of service which provides methods to install (or update) Software Identities in ManagedElements.
UMLPackagePath | string | CIM::Core::Software
Version | string | 2.22.0

## Class Properties

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### CheckSoftwareIdentity (uint32)

#### Method Qualifiers (CheckSoftwareIdentity)

Name | Data Type | Value
--- | --- | ---
Description | string | This method allows a client application to determine whether a specific SoftwareIdentity can be installed (or updated) on a ManagedElement. It also allows other characteristics to be determined such as whether install will require a reboot. In addition a client can check whether the SoftwareIdentity can be added simulataneously to a specified SofwareIndentityCollection. A client MAY specify either or both of the Collection and Target parameters. The Collection parameter is only supported if SoftwareInstallationServiceCapabilities.CanAddToCollection is TRUE.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, Target In Use, DMTF Reserved, Method Reserved, Unsupported TargetType, Unattended/silent installation not supported, Downgrade/reinstall not supported, Not enough memory, Not enough swap-space, Unsupported version transition, Not enough disk space, Software and target operating system mismatch, Missing dependencies, Not applicable to target, No supported path to image, Cannot add to Collection, Asynchronous Job already in progress, Method Reserved, Vendor Specific

#### Method Parameters (CheckSoftwareIdentity)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
InstallCharacteristics | uint16[]
Description | string | The parameter describes the characteristics of the installation/update that will take place if the Source Software Identity is installed: Target automatic reset: The target element will automatically reset once the installation is complete. System automatic reset: The containing system of the target ManagedElement (normally a logical device or the system itself) will automatically reset/reboot once the installation is complete. Separate target reset required: EnabledLogicalElement.RequestStateChange MUST be used to reset the target element after the SoftwareIdentity is installed. Separate system reset required: EnabledLogicalElement.RequestStateChange MUST be used to reset/reboot the containing system of the target ManagedElement after the SoftwareIdentity is installed. Manual Reboot Required: The system MUST be manually rebooted by the user. No reboot required : No reboot is required after installation. User Intervention Recomended : It is recommended that a user confirm installation of this SoftwareIdentity. Inappropriate application MAY have serious consequences. MAY be added to specified collection : The SoftwareIndentity MAY be added to specified Collection.
IN | boolean | false
OUT | boolean | true
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, .., 0x7FFF..0xFFFF
Values | string | Target automatic reset, System automatic reset, Separate target reset Required, Separate system reset Required, Manual Reboot Required, No Reboot Required, User Intervention recommended, MAY be added to specified Collection, DMTF Reserved, Vendor Specific
Collection | REF CIM_Collection
Description | string | Reference to the Collection to which the Software Identity will be added.
IN | boolean | true
Source | REF CIM_SoftwareIdentity
Description | string | Reference to the SoftwareIdentity to be checked.
IN | boolean | true
Target | REF CIM_ManagedElement
Description | string | Reference to the ManagedElement that the Software Identity is going to be installed in (or updated).
IN | boolean | true

#### InstallFromSoftwareIdentity (uint32)

#### Method Qualifiers (InstallFromSoftwareIdentity)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to install or update a SoftwareIdentity (Source) on a ManagedElement (Target). In addition the method can be used to add the SoftwareIdentity simulataneously to a specified SofwareIndentityCollection. A client MAY specify either or both of the Collection and Target parameters. The Collection parameter is only supported if SoftwareInstallationServiceCapabilities.CanAddToCollection is TRUE. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a ConcreteJob will be started to perform the install. The Job's reference will be returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, Target In Use, DMTF Reserved, Method Parameters Checked - Job Started, Unsupported TargetType, Unattended/silent installation not supported, Downgrade/reinstall not supported, Not enough memory, Not enough swap-space, Unsupported version transition, Not enough disk space, Software and target operating system mismatch, Missing dependencies, Not applicable to target, No supported path to image, Cannot add to Collection, Method Reserved, Vendor Specific

#### Method Parameters (InstallFromSoftwareIdentity)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
InstallOptions | uint16[]
ArrayType | string | Indexed
Description | string | Options to control the install process. Defer target/system reset : do not automatically reset the target/system. Force installation : Force the installation of the same or an older SoftwareIdentity. Install: Perform an installation of this software on the managed element. Update: Perform an update of this software on the managed element. Repair: Perform a repair of the installation of this software on the managed element by forcing all the files required for installing the software to be reinstalled. Reboot: Reboot or reset the system immediately after the install or update of this software, if the install or the update requires a reboot or reset. Password: Password will be specified as clear text without any encryption for performing the install or update. Uninstall: Uninstall the software on the managed element. Log: Create a log for the install or update of the software. SilentMode: Perform the install or update without displaying any user interface. AdministrativeMode: Perform the install or update of the software in the administrative mode. ScheduleInstallAt: Indicates the time at which theinstall or update of the software will occur.
IN | boolean | true
ModelCorrespondence | string | CIM_SoftwareInstallationService.InstallOptionsValues[], CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, .., 32768..65535
Values | string | Defer target/system reset, Force installation, Install, Update, Repair, Reboot, Password, Uninstall, Log, SilentMode, AdministrativeMode, ScheduleInstallAt, DMTF Reserved, Vendor Specific
InstallOptionsValues | string[]
ArrayType | string | Indexed
Description | string | InstallOptionsValues is an array of strings providing additional information to InstallOptions for the method to install the software. Each entry of this array is related to the entry in InstallOptions that is located at the same index providing additional information for InstallOptions. If the index in InstallOptions has the value "Password " then a value at the corresponding index of InstallOptionValues shall not be NULL. If the index in InstallOptions has the value "ScheduleInstallAt" then the value at the corresponding index of InstallOptionValues shall not be NULL and shall be in the datetime type format. If the index in InstallOptions has the value "Log " then a value at the corresponding index of InstallOptionValues may be NULL. If the index in InstallOptions has the value "Defer target/system reset", "Force installation","Install", "Update", "Repair" or "Reboot" then a value at the corresponding index of InstallOptionValues shall be NULL.
IN | boolean | true
ModelCorrespondence | string | CIM_SoftwareInstallationService.InstallOptions[]
Collection | REF CIM_Collection
Description | string | Reference to the Collection to which the Software Identity SHALL be added. If NULL then the SOftware Identity will not be added to a Collection.
IN | boolean | true
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Source | REF CIM_SoftwareIdentity
Description | string | Reference to the source of the install.
IN | boolean | true
Target | REF CIM_ManagedElement
Description | string | The installation target. If NULL then the SOftwareIdentity will be added to Collection only. The underlying implementation is expected to be able to obtain any necessary metadata from the Software Identity.
IN | boolean | true

#### InstallFromURI (uint32)

#### Method Qualifiers (InstallFromURI)

Name | Data Type | Value
--- | --- | ---
Description | string | Start a job to install software from a specific URI in a ManagedElement. Note that this method is provided to support existing, alternative download mechanisms (such as used for firmware download). The 'normal' mechanism will be to use the InstallFromSoftwareIdentity method. If 0 is returned, the function completed successfully and no ConcreteJob instance was required. If 4096/0x1000 is returned, a ConcreteJob will be started to to perform the install. The Job's reference will be returned in the output parameter Job.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, .., 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108..32767, 32768..65535
Values | string | Job Completed with No Error, Not Supported, Unspecified Error, Timeout, Failed, Invalid Parameter, Target In Use, DMTF Reserved, Method Parameters Checked - Job Started, Unsupported TargetType, Unattended/silent installation not supported, Downgrade/reinstall not supported, Not enough memory, Not enough swap-space, Unsupported version transition, Not enough disk space, Software and target operating system mismatch, Missing dependencies, Not applicable to target, URI not accessible, Method Reserved, Vendor Specific

#### Method Parameters (InstallFromURI)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
URI | string
Description | string | A URI for the software based on RFC 2079.
IN | boolean | true
InstallOptions | uint16[]
ArrayType | string | Indexed
Description | string | Options to control the install process. See the InstallOptions parameter of the SoftwareInstallationService.InstallFromSoftwareIdentity method for the description of these values.
IN | boolean | true
ModelCorrespondence | string | CIM_SoftwareInstallationService.InstallFromURI.InstallOptionsValues[], CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]
ValueMap | string | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, .., 32768..65535
Values | string | Defer target/system reset, Force installation, Install, Update, Repair, Reboot, Password, Uninstall, Log, SilentMode, AdministrativeMode, ScheduleInstallAt, DMTF Reserved, Vendor Specific
InstallOptionsValues | string[]
ArrayType | string | Indexed
Description | string | InstallOptionsValues is an array of strings providing additionalinformation to InstallOptions for the method to install the software. Each entry of this array is related to the entry in InstallOptions that is located at the same index providing additional information for InstallOptions. For further information on the use of InstallOptionsValues parameter, see the description of the InstallOptionsValues parameter of the SoftwareInstallationService.InstallFromSoftwareIdentity method.
IN | boolean | true
ModelCorrespondence | string | CIM_SoftwareInstallationService.InstallFromByteStream.InstallOptions[]
Job | REF CIM_ConcreteJob
Description | string | Reference to the job (may be null if job completed).
IN | boolean | false
OUT | boolean | true
Target | REF CIM_ManagedElement
Description | string | The installation target.
IN | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service