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: