CSAPI Update Schema

 

Applies To: Windows Server Update Services

Types

The CSAPI Update Schema defines the following types in the https://schemas.microsoft.com/msus/2002/12/Update target namespace. It references types from the BaseTypes Schema.

ApplicabilityRuleElement

The abstract base type for an applicability rule element. This is used so that new applicability rules can be defined in new XML schemas without revising the core schema. An applicability rule is evaluated by the WSUS Client to check some condition and returns either true or false.

<element name="ApplicabilityRuleElement" abstract="true">  
</element>  

ApplicabilityRuleElement is an abstract type. You can find information about the associated derived types in the following topics: BaseApplicabilityRules Schema, LogicalApplicabilityRules Schema, MsiApplicabilityRules Schema, and PatchApplicability Schema

IsInstalled

An applicability expression that evaluates to true if the update is actually installed. This expression is supposed to check for this exact update, not for something that supersedes it

<element name="IsInstalled" minOccurs="0">  
   <complexType>  
      <sequence>  
      <element ref="upd:ApplicabilityRuleElement" minOccurs="0" />  
      </sequence>  
</complexType>  
</element>  

IsInstallable

An applicability expression that evaluates to true if the update is installable. Note that the WSUS Client will only consider the update installable if IsInstalled is false, IsSuperseded is false, and IsInstallable is true.

<element name="IsInstallable" minOccurs="0">  
                <complexType>  
                    <sequence>  
                        <element ref="upd:ApplicabilityRuleElement" minOccurs="0" />  
                    </sequence>  
                </complexType>  
            </element>  
  
        </sequence>  
    </complexType>  

ApplicabilityMetadataElement

The abstract base type for applicability metadata. This is used so that new applicability metadata can be defined in new XML schemas without revising the core schema. Applicability metadata is essentially information that is needed by multiple applicability rules but is large enough that it would significantly bloat the XML to duplicate it in each rule that needed it.

<element name="ApplicabilityMetadataElement" abstract="true">  
</element>  

LocalizedPropertiesLanguage

A language that a LocalizedProperties element applies to. A LocalizedProperties element must apply to at least one language. The DefaultPropertiesLanguage attribute of the Properties element can specify which one of the languages should be used by default when no LocalizedProperties element exists for a given language.

<simpleType name="LocalizedPropertiesLanguage">  
    <restriction base="language" />  
</simpleType>  

HandlerSpecificData

Data that is specific to the update handler, such as installation commands. This data is typically consumed by the update handler but may be used by other parts of the system that have specific knowledge of different kinds of updates.

<complexType name="HandlerSpecificData" abstract="true">  
</complexType>  

HandlerSpecificData is an abstract type. You can find information about the associated derived types in the following topics: CommandLineInstallation Schema and WindowsInstaller Schema.

InstallationResult

The result of an installation or uninstallation. All installations and uninstallations must result in one of these values. This simpleType is used by schemas that derive from HandlerSpecificData.

<simpleType name="InstallationResult">  
        <restriction base="token">  
            <enumeration value="Failed" />  
            <enumeration value="Succeeded" />  
            <enumeration value="Cancelled" />  
        </restriction>  
</simpleType>  

Description

The descriptive text of the update. This will be rendered as text, not HTML. Do not include embedded HTML tags. They will not be rendered and will show up as plain text.

<simpleType name="Description">  
    <restriction base="string">  
        <maxLength value="1500" />  
        <minLength value="1" />  
    </restriction>  
</simpleType>  
  

Prerequisites

A list of prerequisite conditions that are evaluated during WSUS Client/Server communication to determine whether the update is relevant enough to the Client to evaluate the applicability rules. If all prerequisites are true, the Server sends the update to the Client for further evaluation. The Client then evaluates the applicability rules to determine the state of the update on the computer.

<element name="Prerequisites" minOccurs="0">  
<complexType>  
<choice minOccurs="0" maxOccurs="unbounded">  
<element name="UpdateIdentity" type="upd:UpdateIdentityForPrerequisite" />  
<element name="AtLeastOne">  
<annotation>  
<documentation>A prerequisite condition that contains other prerequisites and evaluates to true when at least one of them is true. If they are all false, the AtLeastOne is false.</documentation>  
</annotation>  
<complexType>  
<sequence>  
<element name="UpdateIdentity" type="upd:UpdateIdentityForPrerequisite" maxOccurs="unbounded" />  
</sequence>  
<attribute name="IsCategory" type="boolean" use="optional" default="false">  
<annotation>  
<documentation>Specifies whether or not the prerequisites within this element are categories to which this update revision belongs. Please see other specifications for information about categories. If true, then all of the prerequisites are categories. If false, then none are categories.</documentation>  
</annotation>  
</attribute>  
</complexType>  
</element>  
</choice>  
</complexType>  
</element>  

UpdateIdentityForPrerequisite

A prerequisite that checks the WSUS Client computer for the presence of an update. The presence of an update is determined by examining its own metadata. The latest available revision of the metadata is used. That is why only UpdateID is specified, rather than UpdateID and a revision number.

<complexType name="UpdateIdentityForPrerequisite">  
   <attribute name="UpdateID" type="upd:UpdateID" use="required" />  
</complexType>  

UpdateID

The globally-unique identifier for the update's metadata, assigned by the publisher of the metadata. Note that the Guid type is defined in BaseTypes Schema.

<simpleType name="UpdateID">  
  <restriction base="bt:Guid" />  
</simpleType>