Windows Update エージェントの更新

Windows Update エージェント (WUA) は、デバイスで実行されているWindowsのバージョンに応じて、さまざまな方法で更新されます。 WUA の古いバージョンでは、現在の更新サービスに接続できない場合や、すべての更新プログラムと互換性がない場合や、ドキュメントに記載されているすべての API がサポートされていない場合があります。 WUA が完全に更新され、互換性があることを保証する方法を次に示します。

Windows 7 および Windows Server 2008 R2 以降のバージョンのWindows

Windows Update エージェント (WUA) 更新プログラムは、Windows Updateまたは Windows Server Update Services (WSUS) を介して配布Windows定期的な更新プログラムに含まれています。 これらのWindowsバージョンで WUA を更新するために特別な手順を実行する必要はありません。

Windows 7 および Windows Server 2008 R2 より前のバージョンのWindows

自動更新がWindows Updateまたは WSUS に接続すると、WUA は自動的に更新されます。

自動更新がまだ正常に実行されていない場合は、これらのWindowsバージョンを実行しているデバイスが、文書化されたすべての API をサポートしていない古いバージョンの WUA を実行している可能性があります。 WUA API を使用してスキャン、ダウンロード、またはインストールを実行するときにWU_E_SELFUPDATE_REQUIRED結果が表示される場合、このエラーは、インストールされているバージョンの WUA が古すぎて現在のWindows Update サービスに接続できなくなることを示します。 通常の WUA API を使用して、これらのオペレーティング システムで WUA を更新することはできません。

ユーザーは、Windows Updateコントロール パネルを開き、[更新プログラムの確認] を選択し、表示される自己更新を受け入れることで、WUA を現在のバージョンに手動で更新できます。 または、WUA をプログラムで更新することもできます。

Windows 7 および Server 2008 R2 Windowsより前のバージョンのWindowsで WUA をプログラムで更新するには

  1. WinHTTP API を使用してWuredist.cabをダウンロードします。
  2. 暗号化関数を使用して、ダウンロードしたWuredist.cabのコピーに Microsoft のデジタル署名があることを確認します。 デジタル署名を確認できない場合は、停止します。
  3. ファイル展開インターフェイス API を使用して、Wuredist.cabから XML ファイル抽出します。
  4. Microsoft XML Core Services (MSXML) API を使用して XML ファイルを読み込み、コンピューターのアーキテクチャの WURedist/StandaloneRedist/architecture ノードを見つけます。 たとえば、x86 の場合、 名前 属性が x86 の WURedist/StandaloneRedist/architecture ノードを見つけます。
  5. IWindowsUpdateAgentInfo::GetInfo を呼び出して、現在のバージョンの WUA を確認します。 IWindowsUpdateAgentInfo::GetInfo が、見つけたアーキテクチャ ノードの clientVersion 属性と同じ以上のバージョン番号を返す場合は、停止します。
  6. MSXML API を使用して、配置したアーキテクチャ ノードから downloadUrl 属性を読み取る。 downloadUrl には、コンピューターのアーキテクチャに適した WUA インストーラーのダウンロード URL が表示されます。
  7. WinHTTP API を使用して、適切なインストーラーをダウンロードします。
  8. CreateProcess 関数または同様の API を使用して、ダウンロードしたインストーラーを実行します。