Windows Updateの一時ファイルを削除してエラー8024200Dを解決する方法(Windows7)
目次
Windows Updateの一時ファイルの削除で解決できたのでメモ。
何度やってもWindows Updateが失敗する
Windows7のPCをリカバリしてWindows Updateしていたら8024200Dというエラーが出ました。
アップデートに失敗したのは2019年4月分のマンスリーセキュリティロールアップなのですが、再起動や更新ファイルの確認を何度行っても8024200Dのエラーが表示されてダメでした。
手動でインストールしても失敗
自動がダメなら手動で更新ファイルをインストールしてみましたが、途中までインストールが進むのですが、最後に「インストールできませんでした」的なダイアログが表示されました。
試した手動のインストール方法
ダウンロードした更新ファイルを以下の方法でインストールを試みましたが、どれも失敗しました。
- 更新ファイルのダブルクリック
- コマンドプロンプトから更新ファイルのパスに
/passive
または/quiet
を指定して実行 - コマンドプロンプトから wusa.exe で .msuファイル を解凍し、pkgmgr.exe で .xml を指定しインストール(参考コード)
Windows Updateコンポーネントのリセットも失敗
Windows Updateのデータベースが壊れているのかな?と思ったのでWindows Updateコンポーネントをリセットするバッチファイルを実行し、再起動後にWindows Updateの「更新ファイルの確認」からアップデートを再チャレンジしてみましたが、状況は変わりませんでした。
Windows Updateコンポーネントをリセットするバッチファイルの参考ページ
一時ファイルを削除して解決!
今回のWindows Updateが失敗する原因は更新ファイルをインストールする際にできる一時ファイルの破損が原因でした。インストール中に何らかの問題が発生し一時ファイルが壊れると何度やっても特定の更新ファイルだけがインストールに失敗するようです。この一時ファイルを削除したら無事にアップデートが成功しました。
以下のフォルダ内をすべて削除する
実際の解決方法は、Windows Update(サービス名:wuauserv)を停止して、以下2つのフォルダ内にあるものをすべて削除すればOKです。削除が終わったらWindows Update(サービス名:wuauserv)を開始させます。
- C:\Windows\SoftwareDistribution\Download
- C:\Windows\SoftwareDistribution\DataStore
簡単に実行するためのコマンド
コマンドプロンプト(管理者)を起動し、以下のコマンドを実行してください。
Windows Updateサービスを停止するコマンド
sc stop wuauserv
または
net stop wuauserv
フォルダ内のファイルとサブフォルダをすべて削除するコマンド
rmdir /s /q C:\Windows\SoftwareDistribution\Download\ /s /q
rmdir /s /q C:\Windows\SoftwareDistribution\DataStore\ /s /q
rmdir
はrd
とすることもOK。/s
はサブフォルダ内のファイルも対象するオプション。/q
は確認メッセージを表示しないオプションです。
Windows Updateサービスを開始するコマンド
sc start wuauserv
または
net start wuauserv
バッチファイル
@echo off choice /m フォルダ内のすべてのファイルを削除しますか? if not %errorlevel%==1 exit net stop wuauserv rmdir /s /q C:\Windows\SoftwareDistribution\Download\ rmdir /s /q C:\Windows\SoftwareDistribution\DataStore\ net start wuauserv echo 削除しました。 pause exit
80072EFE・80070003にも使える!?
試していませんが、以下の参考ページではエラーコードが80072EFE、80070003の時も解決できたとありました。他にも8024400E、80080005、8020002Eにも使えたというコメントもありました。アップデートを何度やっても失敗するときは試す価値がありそうです。