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