Creating Update Metadata

 

Applies To: Windows Server Update Services

It is not easy to create the correct metadata for an update. You will need to design and test the metadata carefully in order to ensure that the update is installed on the computers that need it and not installed on computers that do not need it. You will also need to devise a versioning system for the updated application that makes it easy to discover the specific version and update level.

There are a number of authoring tools, such as the Microsoft System Center Update Publisher, that can help automate this process. If you decide not to use one of these tools, you should use the WSUS API to create the metadata rather than attempting to compose it by hand.

The structure of an update metadata file

The following is an outline of the basic structure of an update metadata file. The specific elements and their values will be explained in later sections.

  • The root element, which is a SoftwareDistributionPackage for locally-published updates

  • The Properties element, which includes the GUID and the creation date of the update

  • The LocalizedProperties element, which includes the language supported, the title of the update, and the description

  • The ApplicationSpecificData element

  • Applicability rules elements, which determine whether the update should be installed

  • The InstallableItem element, which includes specific applicability rules for a given update binary and data about the installation program

  • The BundledPackages element for bundled updates

XML Schemas and namespaces in update metadata files

There are several XML schemas that are used for update metadata files. Some are used for all updates, while others are used for specific types of updates. Schema files can be found under the WSUS installation directory in the schema directory of the WSUS installation (typically C:\Program Files\Update Services\schema). The following list gives the name and description of each schema, along with the way it is referenced in an XML file.

Common schemas

The following schemas are used for common XML Schema elements and attributes.

W3C XML Schema: the default schema, defines basic elements and attributes.

xmlns="http://www.w3.org/2001/XMLSchema"  

W3C XML Schema-Instance: defines extensions to XML Schema.

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
Application and update definitions

SoftwareDistributionPackage.xsd: defines the properties associated with the update package.

xmlns:sdp="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/SoftwareDistributionPackage.xsd"  
Basic type Definitions

BaseTypes.xsd: the properties of the data types used in WSUS.

xmnls:bt="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/BaseTypes.xsd"  
Driver definitions

WindowsDriver.xsd: definitions, properties, and applicability rules for drivers.

xmlns:drv="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/Installers/WindowsDriver.xsd"  
Installation handlers

CommandLineInstallation.xsd:the installation properties for an EXE type update.

xmlns:cmd="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/Installers/CommandLineInstallation.xsd  

MsiInstallation.xsd: the installation properties associated with a Windows Installer update.

xmlns:msi="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/Installers/MsiInstallation.xsd"  

MspInstallation.xsd: the installation properties associated with an MSP update.

xmlns:msp="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/Installers/MspInstallation.xsd"  
Applicability rules

BaseApplicabilityRules.xsd: the properties of the 20 built-in rules.

xmlns:bar="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/BaseApplicabilityRules.xsd"  

LogicalApplicabilityRules.xsd: the rules for “true”, “false”, “and”, “or” and “not”.

xmlns:lar="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/LogicalApplicabilityRules.xsd"  

MsiApplicabilityRules.xsd: the applicability rules of a Windows Installer update.

xmlns:msiar="https://schemas.microsoft.com/wsus/2005/04/CorporatePublishing/MsiApplicabilityRules.xsd"  

patch_applicability.xsd: the applicability rules of a Windows Installer Patch.

xmnls: mspblob=https://www.microsoft.com/msi/patch_applicability.xsd  

The following topics deal with different aspects of the update metadata:

Basic Update Metadata

Update Applicability Rules

Install Handler Data