Misc.

2018/07/27

July 2018 .NET Framework Updates 問題からの更新エラー(Windows 8.1、解決)

※ 7/31 追記:この件の修正プログラム(Windows 10 ver 1607/Server 2016 はOSビルドの累積更新)が Microsoft Update カタログに出たようです。Windows 10 ver 1703 以降は未提供。この件とは Access Denied"エラーの方。私の 0x80092004 エラーは状況に進展なし。

→ .NET Framework July 2018 Update (https://blogs.msdn.microsoft.com/dotnet/2018/07/30/net-framework-july-2018-update/


・・・

2018年7月の.NET Frameworkの更新プログラムにいろいろ問題がある以下の件について。

"Access Denied" errors and applications with COM activation fail after installing July 2018 Security and Quality Rollup updates for .NET Framework
https://support.microsoft.com/en-us/help/4345913/

Advisory on July 2018 .NET Framework Updates(.NET Blog)
https://blogs.msdn.microsoft.com/dotnet/2018/07/20/advisory-on-july-2018-net-framework-updates/



We have stopped distributing the .NET Framework July 2018 updates on Windows Update and are actively working on fixing and re-shipping this month’s updates. If you installed the July 2018 update and have not yet seen any negative behavior, we recommend that you leave your systems as-is but closely monitor them and ensure that you apply upcoming .NET Framework updates.”

この問題を受けて、問題の更新はストップされたらしい。ただし、Windows 10/Windows Server 2016 以降は、Windows の累積更新に含まれてしまっているため、ストップされてない。たぶん、ストップされたのは以下の2018-07 .NET Framework 用セキュリティおよび品質ロールアップ。アンインストールすると 2018-06 の状態に戻るけど、影響を受けているなら仕方がない(別の回避策もあるけど)。


●Windows 8.1/Windows Server 2012 R2 向け KB4340558 - KB4338419(.NETFx 4.6+), KB4338415(.NETFx 4.5.2), KB4338424(.NETFx 3.5)
●Windows Server 2012 向け KB4338830  KB4338418(.NETFx 4.6+), KB4338416(.NETFx 4.5.2), KB4338421(.NETFx 3.5)
●Windows 7 SP1/Windows Server 2008 R2 SP1 向け KB4340566  KB4338420(.NETFx 4.6+), KB4338417(.NETFx 4.5.2), KB4338423(.NETFx 3.5.1)

本当にストップされているのか、Windows 8.1 のやつを 1 つアンインストールしようとしたら、これが簡単ではない。

KB4340558 をアンインストールできるわけではなく、KB4338419、KB4338415、KB4338424 のインストール済みのやつを探して削除する感じで分かり難い。「更新プログラムのアンインストール」の一覧には、Windows 用の更新プログラムと同じように見えるので、KB番号とインストール日で判断する必要がある。うちの Windows 8.1 さんには KB4338415 が入ってたんで、影響はなかったけどこれをアンインストールしてみた。
 
2018-07 の .NET Framework用セキュリティおよび品質ロールアップ(KB4340558)を検出。既知の問題はそのまま。おいおい、ストップしたんとちゃうの?

7/28追記)

KB4338415 だけでなく KB4338424 もあったけど見落としてた。これがいけなかったらしい。改めて、KB4338415 と KB4338424 をアンインストールしたら、再リリース版(7/19)の KB4340558 は検出されなくなった。たぶん、KB4340558 でインストールされた KB の中途半端なアンインストールが問題だったようで。



.NET Framework4.7.2 (KB4054566)は検出されるけど自動選択されない。こちらをインストールすると 0x80092004 エラー。こちらは 7/10 版(オリジナル版)なので、インストール問題の修正版の再リリース待ちかも。

8/1 追記)

再確認したら、再リリース版(7/19)がまた検出(自動選択はされない)。で、手動で選択してインストールするとやっぱり 0x80092004 エラー。.NET Framework July 2018 Update (https://blogs.msdn.microsoft.com/dotnet/2018/07/30/net-framework-july-2018-update/) の修正プログラムのインストールは成功(KB4346745:成功、KB4346408:不要、KB4340406:成功&要再起動)。

その後の Windows Update でも KB4340558 の再リリース版(7/19)と.NET Framework4.7.2 (KB4054566)のオリジナル版(7/10)が依然として検出される(自動選択はされない)。Microsoft Update カタログで利用可能な.NET Framework4.7.2 (KB4054566)の再リリース版(7/24)を手動で試すも失敗。.NET Framework4.7.2 のオフライン インストーラーもダメ。

もうお手上げ。この PC の Windows Update はいつ正常化するのかしらん。それともこれで正常なのかしらん。

なお、問題ない PC は正常。.NET Framework 4.7.2 も成功。

8月の月例更新(Patch Tuesday)は8月15日水曜日。

8/3 追記) 今回はテスト用の仮想マシンだったのだけれども、いろいろ試す前にチェックポイント作成するのを忘れてて、いろいろ試行錯誤してました。2018年7月2日にとってたホストのフルバックアップがあったので、そこから仮想ハードディスクだけをリストアして、仮想マシンで Windows Update をやり直し、完全に正常化しました(システムの保護は無効にしてたのでシステムの復元は試してない)。将来(の更新プログラム)にかけてみるという方法もあったのですけれども、何だか面倒で... 今回は完全に負け試合でした。(おしまい)

8/13 さらに追記) こちら関係するかどうかわかりませんが、手動でインストール、アンインストールする場合の注意事項として覚え書き。

.NET Framework の更新プログラムを手動でインストールする際の注意事項について
[URL] https://blogs.msdn.microsoft.com/jpvsblog/2018/08/13/netfx-update/

毎度、お騒がせしました。

Security and Quality Rollup updates for .NET Framework 3.5 SP1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, and 4.7.2 for Windows 8.1, RT 8.1, and Server 2012 R2 (KB 4340558)
https://support.microsoft.com/en-us/help/4340558/


で、インストールを進めると、0x80092004 エラーで失敗。.NET Framework4.7.2 (KB4054566)も検出されてましたが、こちらも同じエラーで失敗。



なんじゃそりゃと思って検索してみると...

"0x80092004" error occurs and July 2018 .NET Security and Quality Rollup update KB4340557 or KB4340558 does not install after you apply June update KB4291497 or KB4291495
https://support.microsoft.com/en-us/help/4345232/

"Microsoft has re-released the July 2018 .NET Framework Security and Quality Rollup updates, KB4340558 and KB4340557 to correct an installation issue."
0x80092004 エラーの問題を修正して再リリースしたらしい。既知の問題(Known issues)はそのまま。ストップの話はどこへ。で、その再リリースされたやつ(公開:2018/07/19)が、0x80092004 エラーで失敗してるんですけど!もうわけがわからん。

アンインストールしたやつ(KB4338415)は手動で再リリース版をダウンロードしてインストールできたけど、KB4340558 は検出され、あいかわらずエラーで失敗する。もうお手上げ。非表示にして 2018-08 の.NET Framework 用ロールアップを待つことにする(かな)。

7月第二火曜日リリースの更新の0x80092004 エラー問題と、ここ数日の0x80092004 エラー問題は別ものかもしれない。オリジナルの KB4340558 は成功してたけど、それをアンインストールすると、再リリース版KB4340558 がエラーになるとか。

関連(再リリース前からあるまとめ):
Windows 8.1 にて KB4338419/KB4340558 のインストール時 エラー 0x80092004 に関する情報の纏め 
https://answers.microsoft.com/ja-jp/windows/forum/windows8_1-update/windows-81-%E3%81%AB%E3%81%A6-kb4338419kb4340558/31627043-d6bf-474f-a829-f75ed7d5b7da

追記:
.NET Framework 4.7.2 については、上の URL で説明されているオフラインインストーラー(https://support.microsoft.com/ja-jp/help/4054530/)を試してみましたが、「オブジェクトまたはプロパティが見つかりません」エラーで失敗。

なんか悔しいので、SoftwareDistribution のリセットと DISM /Online /Cleanup-Image /RestoreHealth とか/StartComponentCleanup とかしてみようかな。でも時間かかんだよなぁ(たぶん半日くらい)。

さらに追記:
4時間くらいかかってやっぱりダメだった(/RestoreHealth はしていない)。もうすぐ8月だし、8月のロールアップ更新で解消されることを祈って終わる。

1 件のコメント:

  1. > その後の Windows Update でも KB4340558 の再リリース版(7/19)と.NET Framework4.7.2 (KB4054566)のオリジナル版(7/10)が依然として検出される(自動選択はされない)。
    > Microsoft Update カタログで利用可能な.NET Framework4.7.2 (KB4054566)の再リリース版(7/24)を手動で試すも失敗。
    > .NET Framework4.7.2 のオフライン インストーラーもダメ。

    という同じ状況になっていた、Windows Server 2012 R2 環境では、

    FYI: Update KB4340558 (.Net Framework) broken, causes install error 0x80092004
    https://social.technet.microsoft.com/Forums/en-US/bf3c5ad8-376f-4cde-926f-5101cfd5ef0c/fyi-update-kb4340558-net-framework-broken-causes-install-error-0x80092004?forum=w8itprogeneral

    に記載のコメント SOLUTION KB4054566 / KB4340558 を参考に

    1. Microsoft Update カタログ から KB4340558 をダウンロード
    2. wusa /extract で KB4338419 を展開
    3. dism /online /remove-package で KB4338419 を削除
    4. 再起動
    5. KB4338419 を通常通りインストール

    で復旧しました。

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。