Windows8.1で、2018年7月の.Net Frameworkのセキュリティおよび品質ロールアップKB4340558がエラー”0x80092004″でインストールに失敗を繰り返すというのを実際に直してきました。
直してきたといっても、いろいろ試しても直らなかったのでWindows8.1のインプレースアップグレードをかけてWindows Updateを一からやり直したという最終手段(リカバリー)の一歩手前でした。
マイクロソフトの回避策
先に書いておきますが、調べるとこのエラーの回避策というのがマイクロソフトから公開されています。私は事前にこの方法を知らずに(公開前だった?)後述するインプレースアップグレードで直しました。
順番的には、まずは下記マイクロソフトの回避策を試すべきです。
回避策1は品質ロールアップの代わりにセキュリティのみの更新をとりあえず入れておき(品質ロールアップが更新に上がってくるのは避けられない)、来月以降に問題に対応した更新プログラムが出るのを待つ回避策です。あくまでも解決策ではなく回避策です。
回避策2が有効なら、こちらを試すべきです。私は実際に試していないので改善するのかどうかは未確認です。
(手順通りではないですが、KB4229727を削除もしたし、ディスククリーンアップでWindows Updateのクリーンアップもかけたはずですが、改善していません。そもそも6月のプレビュー版はインストールされていませんでした。)
それでも改善しない場合
今回は、Windows8.1のインプレースアップグレードを行い、Windows Updateを一からやり直しています。アップデートされていた .NET Framework 4.7.2も一旦 .NET Framework 4.5.1に戻すことができました。
インプレースアップグレードの方法は以前記事にしているので、そちらを参照してください。
インプレースアップグレードにかかる時間は、一般的なスペックのPCで約一時間半です。
Windows8.1の場合、Windows Updateがやり直しになり初回の更新プログラムの確認で164個の更新プログラムが見つかりました。約5年分の更新プログラムを一から入れなおすのでここに時間がかかります。(Windows10なら最大半年分で済みます。)
個人用データはすべて残っているし、プリインストールソフトも追加インストールしたソフトも全部残っています。プリンター設定もメールソフトもInternet Explorerの保存IDとパスワードもそのまま続きから利用できます。IEのスタートページの設定とWi-Fiの接続設定をやり直したくらいです。
リカバリーの前に
Windows Updateが失敗するトラブルは、いろいろな対処方法を試していたら時間がかかる上に、結局直らないを繰り返していると疲労とストレスが溜まります。
インプレースアップグレードなら時間はかかりますが、Windows Updateのトラブル解決率はかなり高いです。Windows8.1以降ならメーカー製OEM版Windowsでも使えます。
.Net Frameworkは特殊
今回のように.Net Frameworkの更新プログラムに問題があると非常に面倒です。KB4340558がエラーといってもKB4338419,KB4338415,KB433824と3つの更新プログラムがまとまってKB4340558だったりします。先月のプレビューKB4229727を削除しろと言われても、他にKB4098974,KB4095875がセットで品質ロールアップKB4291497だったりします。
Windowsに含まれる機能である.Net Frameworkなので、上記のKB番号でインストールされた更新プログラムの一覧から探しても出てこないのにインストール済みの更新プログラムがあったり、上げてしまった.Net Frameworkのバージョンを下げる手段がなかったりします。
あまりにも頭がこんがらがったら、インプレースアップグレードをお勧めします。