Version: 12


This is work in progress.




Deploy (i.e. download and by default install) the specified patch to this device.


Should this be renamed to just "Deploy" because "Patch.DeployPatch" seems a little tautological?

Source (string): The source of patch meta-data, typically the installation mechanism used to handle patch(es). One of:

  • CAB: A file with a .cab extension and appropriate binary structure containing update metadata, located somewhere in the file system available to the local agent. The file is used directly by the local Windows Update agent, without SCCM or WSUS being involved.
  • SCCM: System Center Configuration Manager.
  • WSUSL: A local (to the enterprise) corporate Windows Server Update Service server.
  • WSUSR: The remote Windows Server Update Service feed over the internet at .

Case is not significant.

PatchId (string; optional, default all available patches): The identifier of the patch that should be deployed. If not specified, all available patches will be deployed.


For Windows this is in the form of a KB ID, not a low level GUID. (See example below.)


Should a list be supported so that mutiple patches can be deployed in one action? Answer: probably yes, although we will start development with a single ID.

What is the result if the patch is not available or not applicable to the device? Is that an error or just quietly ignored (so the method could return success-no-content)?

DownloadOnly (boolean; default false): The patch should be downloaded from the source but not installed.

CabFilePath (string; default empty): The full path of the location of the .cab file if Source is 'CAB'.

This must be specified if Source is 'CAB' and should not be specified for any other Source value.

If the path is specified it must be to a local CAB-file. Shared, i.e. remote, CAB-files are not supported by Windows Update Agent.

Return values

For each patch that was deployed:

PatchId (string): The patch identifier passed in to the method.

DownloadOnly (boolean): Whether the patch was to be just staged (false) or also installed (true), i.e. the supplied or implicit DownloadOnly parameter.

NeededDownload (boolean): Whether the patch actually needed to be downloaded.

DownloadResult (integer): The COM success (0) or error (not 0) codes related to downloading.

DownloadError (string): The human readable form of the DownloadedResult column if a download error occurred.

NeededInstallation (boolean): Whether the patch actually needed to be installed (true) or it was already installed (false).

InstallResult (integer): The COM success (0) or error (not 0) codes related to installation.

InstallError (string): The human readable form of InstallResult if an installation error occurred.

Patch.DeployPatch(Source:"SCCM", PatchId:"2267602");
  • Windows