Windows

0X8024d007 Windows Updateができない

Windows Update を行うと 0X8024d007 が出て Updateできない現象に見舞われた。

エラーコードの意味

0x8024D007,-2149896199,WU_E_SETUP_REGISTRATION_FAILED,Windows Update Agent could not be updated because regsvr32.exe returned an error.

これだけじゃわからんw

調べても、解決した事例がないw

ここからはWindows2000で解決させた方法をのっけます。
たぶんWindowsXPでも同じだと思う

下記のファイルを確認する
%windir%WindowsUpdate.log

「*********** Setup: Checking whether self-update is required ***********」
のラインを探します

2009-07-24 11:30:37:681 2156 7f4 Setup *********** Setup: Checking whether self-update is required ***********
2009-07-24 11:30:37:681 2156 7f4 Setup * Inf file: C:WINNTSoftwareDistributionWebSetupwsus3setup.inf
2009-07-24 11:30:37:712 2156 7f4 Setup Update NOT required for C:WINNTsystem32cdm.dll: target version = 7.2.6001.788, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:712 2156 7f4 Setup FATAL: Update required for C:WINNTsystem32wuapi.dll: target version = 7.1.6001.65, required version = 7.2.6001.788
2009-07-24 11:30:37:743 2156 7f4 Setup Update required for C:WINNTsystem32wuapi.dll.mui: target version = 7.1.6001.65, required version = 7.2.6001.788
2009-07-24 11:30:37:743 2156 7f4 Setup Update NOT required for C:WINNTsystem32wuauclt.exe: target version = 7.2.6001.788, required version = 7.2.6001.788
2009-07-24 11:30:37:743 2156 7f4 Setup Update NOT required for C:WINNTsystem32wuaucpl.cpl: target version = 7.2.6001.788, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:743 2156 7f4 Setup Update required for C:WINNTsystem32wuaucpl.cpl.mui: target version = 7.1.6001.65, required version = 7.2.6001.788
2009-07-24 11:30:37:743 2156 7f4 Setup Update NOT required for C:WINNTsystem32wuaueng.dll: target version = 7.2.6001.788, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:743 2156 7f4 Setup Update required for C:WINNTsystem32wuaueng.dll.mui: target version = 7.1.6001.65, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:743 2156 7f4 Setup FATAL: Update required for C:WINNTsystem32wucltui.dll: target version = 7.1.6001.65, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:759 2156 7f4 Setup Update required for C:WINNTsystem32wucltui.dll.mui: target version = 7.1.6001.65, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:759 2156 7f4 Setup FATAL: Update required for C:WINNTsystem32wups.dll: target version = 7.1.6001.65, required version = 7.2.6001.788
ココ→ 2009-07-24 11:30:37:759 2156 7f4 Setup FATAL: Update required for C:WINNTsystem32wups2.dll: target version = 7.1.6001.65, required version = 7.2.6001.788
2009-07-24 11:30:37:759 2156 7f4 Setup * IsUpdateRequired = Yes

「target version」と「required version」が異なるためDLLの登録ができない状態になっていると思われる。
通常であれば自動的に置き換えが行われるはずだが・・・・
対処方法は手動でファイル置き換えをします。

上記のログを例に置き換え方法を記述する
作業はセーフモードで行う(念のため)
最新のDLL(上記では7.2.6001.788)は下記にダウンロードされている
(一度、WindowsUpdateで失敗したPCはダウンロードされていると思う)

%windir%SoftwareDistributionWebSetup

wuapi.dll
wuapi.dll.mui_jp
wuaucpl.cpl.mui_jp
wuaueng.dll.mui_jp
wucltui.dll
wucltui.dll.mui_jp
wups.dll
wups2.dll

各ファイルのバージョンが「7.2.6001.788」であることを確認する

置き換え対象となるファイルを「*.old」とリネームする

muiファイルの置き換えはmui_jpをmuiとリネームする

置き換えします。

再起動します。

再度、失敗する場合はファイルが全て置き換わるまで
上記の作業を繰り返す。

*問題要素
この方法は全ての場合(エラーID:0X8024d007)に当てはまらない可能性がある。
永続的(WindowsUpdateのバージョンが変わったときなど)に、問題なく使えるかは不明。
何かアクセス権の問題がありそう・・・
WSUSが絡んでいる可能性もある。

まぁこのくらいかな。

追記(9/24)
Win32/Conficker の対策
http://support.microsoft.com/kb/962007/ja
内のグループポリシーの設定を行うと起こるかも
WindowsUpdateができない場合はシステム管理者に問い合わせて見てください

-Windows
-, ,