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