Show / Hide Table of Contents

This library provides a high level abstraction over the underlying WSUS server-sync SOAP-based protocol. It handles authentication, server configuration, batched queries, and cross-linking between updates and update content.

Update XML metadata is parsed into an object model that exposes prerequisites, bundled updates, files, categories, and other update metadata.

Upstream categories source

UpstreamCategoriesSource retrieves categories from the Microsoft Update Server (or 3rd party upstream update server): ProductCategory, ClassificationCategory and DetectoidCategory

An update has 1 or more classifications and 1 or more products.

Products are hierarchical. For example the "Windows 10, 1903 and later" product has "Windows" as parent product. However, the server does not automatically return updates for child products when only the root product name was used in a filter. Subsequently, the leaf product names must be used when querying for updates using a product filter.

Upstream update metadata source

UpstreamUpdatesSource retrieves (SoftwareUpdate or DriverUpdate) from the Microsoft Update Server (or 3rd party upstream update server).

Use IMetadataFilter when querying the upstream update source; otherwise, the whole Microsoft Update Catalog will be retrieved. First query for categories from the catalog, then build a UpstreamSourceFilter for the desired product and classification combination. The filter is then applied to UpstreamUpdatesSource to fetch only the desired updates.

Metadata store

Use IMetadataStore to store update metadata locally. The indexed metadata store allows for fast queries on update metadata and can be used as a source for serving updates to downstream servers or to Windows Update clients.

Two implemenentations are provided:

  • Azure Blob metadata store that stores update metadata in Azure blob storage
  • Local filesystem metadata store that stores update metadata on the local file system

The object model

Update metadata is parsed and linked into an object model, documented in the Microsoft.PackageGraph.MicrosoftUpdate.Metadata namespace.

The object model allows querying for title, description, KB article, supersedence chain, applicability rules, hardware ID, and other update metadata fields.

Content store

Use IcontentStore to replicate update content from the Microsoft Update Catalog (or upstream server).

Note: replicating update content is not required in order to inspect update metadata

Two implementations are provided.

  • Azure Blob content store that stores update content in Azure blob storage
  • Local filesystem content store that stores update content on the local file system

Upstream ASP.NETCore server

Use UpstreamServerStartup to run an upstream server that serves updates to downstream update servers (like WSUS).

First sync updates from the Microsoft Update Catalog (or other upstream server) to a metadata store, then configure the upstream server startup to distribute updates from the metadata store to downstream WSUS servers.

Client sync ASP.NETCore server

Use UpdateServerStartup to run an update server that serves updates to Windows Update clients over the MUv6 protocol.

Microsoft Update content controller for ASP.NETCore

Use MicrosoftUpdateContentController in a ASP.NETCore application to handle requests for Microsoft Update content coming from downstream WSUS servers or Windows Update clients.

  • Improve this Doc
In This Article
Back to top Generated by DocFX