Windows 10 May 2019 Update(バージョン1903)から、オプションの更新プログラムに対して「今すぐダウンロードしてインストールする」オプションが提供されるようになりました。 しかし、.NET Frameworkの累積更新プログラムは少し扱いが異なるようです。何とか頑張って検証、説明しますが、かなりややこしいことになっています。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Windows 10 Creators Update(バージョン1703)から「品質更新プログラム」のリリースサイクルが明確化され、「セキュリティ更新プログラム」(新たなセキュリティ問題の修正が追加された累積更新プログラム)は毎月第2火曜日(時差の関係で日本では翌水曜日)にリリースされ、その翌週または翌々週に「更新プログラムのプレビュー」(翌月の第2火曜日に向けたプレビュー)が“オプションの累積更新プログラム”としてリリースされるようになりました。
第2火曜日の更新プログラムは「Bリリース」、その翌週の更新プログラムは「Cリリース」、その翌週の更新プログラムは「Dリリース」とも呼ばれています。そして、Dリリースは翌月初めにずれ込む場合もあります。
Windows 10の更新を「Windows Update」の自動更新に任せている場合、Bリリースのみが自動的に検出され、インストールされることになります。Windows Updateで「更新プログラムのチェック」ボタンをクリックすると、B、C、Dリリースに関係なく、利用可能な更新プログラムが検出され、インストールされます。
ただし、Windows Updateの「詳細オプション」の「更新プログラムをいつインストールするかを選択する」で、機能更新プログラム/品質更新プログラムの延期設定を行っている場合、または「Windows Update for Business(WUfB)」のポリシー設定で同様の延期設定を行っている場合は、WUfBクライアントと見なされ、オプションの更新プログラムが自動更新や手動更新で検出されることもありません。
この方針は、Windows 8.1以前向けのWindowsの累積更新プログラムと、.NET Frameworkの累積プログラムにも適用されます。Windows 8.1以前では、Bリリースの更新プログラムが「セキュリティマンスリー品質ロールアップ」(Windows向け)および「セキュリティおよび品質ロールアップ」(.NET Framework向け)、C/Dリリースの更新プログラムが「マンスリー品質ロールアップのプレビュー」(Windows向け)および「品質ロールアップのプレビュー」(.NET Framework向け)という名前で配布され、品質ロールアップのプレビューについてはWindows Updateで明示的に選択しない限りインストールされることもないため、分かりやすくかつ更新管理も簡単でした。
一方、Windows 10はB、C、Dリリースに関係なく「累積更新プログラム」という名前で配布されるため、Windows Updateで「更新プログラムのチェック」ボタンをクリックすると、タイミングによっては意図せずオプションの更新プログラムが検出され、インストールが始まってしまうことがあります。
また、Windows 10の機能更新プログラムが利用可能になったタイミングと重なると、意図せず、機能更新プログラムのインストールが始まってしまうこともありました(後述するように、Windows 10 バージョン1809からはこの点が改善されています)。
セキュリティを最新状態に維持したいという場合は、Bリリースの更新プログラムだけを毎月インストールすればよいわけです。しかし、Windows 10はそれをユーザーが制御できる範囲が少なく、意図しないタイミングで、今すぐ必要ではないオプションの更新プログラムや機能更新プログラムのインストールが始まってしまうことになるのです。そのため、最近では「更新プログラムのチェック」ボタンをクリックする人は、「Advanced User(上級者)」や「Seeker(探究者、探し求める人)」と呼ばれるようになりました。
「更新プログラムのチェック」ボタンをクリックすることのリスクに対し、ユーザーからの苦情(フィードバック)が多かったのでしょう、Windows 10 May 2019 Update(バージョン1903)からはオプションの更新プログラムが利用可能な場合、インストールを開始するのではなく、ユーザーに通知する「今すぐダウンロードしてインストールする」機能が追加されました。
これで「更新プログラムのチェック」ボタンをクリックしても、“Windowsの”オプションの累積更新プログラムや機能更新プログラムのインストールが、意図しないタイミングで始まってしまうことはなくなりました(画面1)。
機能更新プログラムに対する「今すぐダウンロードしてインストールする」は、Windows 10 バージョン1809のビルド17763.529以降にも追加されており、Windows 10 バージョン1903のインストールが勝手に始まってしまうことはなくなりました(画面2)。ただし、WUfBで機能更新プログラムの延期設定している場合は、設定に従ってダウンロードとインストールが自動的に始まる可能性があることに注意してください。
しかし、Windows 10 バージョン1809(およびWindows Server 2019)以降、この規則に従わない更新プログラムが度々やってくるようになりました。それは、.NET Framework向けの累積更新プログラムです。
Windows 10 バージョン1803以前は、Windowsの累積更新プログラムに.NET Frameworkの更新プログラムも累積されていたのですが、バージョン1809から別の更新プログラムで提供されるようになりました(注:最新の.NET Framework 4.8がインストールされている場合、Windows 10 バージョン1803以前についても同様に、OSとは別の更新プログラムとして提供されます)。
.NET Frameworkでも更新プログラムのB、C、Dのリリースサイクルは共通ですが、毎月必ず、更新プログラムが提供されるわけではありません。そして、リリースサイクルは共通なのですが、Windows Updateによる検出のされ方が、Windows向けの累積更新プログラムの仕様に従わないのです。
筆者は当初、オプションであるはずの.NET Framework向けの累積更新プログラムのインストールが意図せず始まってしまうのは、配布するMicrosoft側のミスだと考えていました。
例えば、WUfBで延期設定をしていれば、オプションの更新プログラムは「更新プログラムのチェック」ボタンをクリックしても検出されないはずです。しかし、.NET Frameworkの累積更新プログラムは延期設定が無視され、インストールされてしまうことが何度かありました。2019年6月末時点でWindows 10 バージョン1903で「更新プログラムのチェック」ボタンをクリックしたときも、「今すぐダウンロードしてインストールする」に通知されることはなく、6月末にリリースされた.NET Frameworkの累積更新プログラムが検出、インストールされました(画面3)。
一方、「更新プログラムのチェック」ボタンはクリックせずに、自動更新の状態で放置していたPCには「ダウンロード」ボタンが表示されました(画面4)。
Windows 10 バージョン1809では見ることのない挙動です。Windows 10 バージョン1903には、オプションの更新プログラムに対して「今すぐダウンロードしてインストールする」とはまた別のユーザーが制御可能な機能が追加されていて、オプションの.NET Frameworkの累積更新プログラムはこちらの対象になるようなのです。この「ダウンロード」ボタンの表示は、7月初めにリリースされた「Microsoft Word 2013(MSI版)」の更新プログラムでも機能していたように記憶しています(記憶が定かではありません)。
頭の中が混乱してきたと思うので、6月のBリリースに更新済みのWindows 10 バージョン1809とバージョン1903について、6月のC/Dリリース以降の6月末に自動更新/手動更新を実施してみました。
以下の表1に示すように、対象となる更新プログラムは2019年6月末時点で最新のWindowsおよび.NET Framework向けのそれぞれの累積更新プログラムです。各更新プログラムについて、配布チャネルをWU(Windows Update)、MSU(Microsoft Update Catalog)、WSUSで示しました。通常、オプションの累積更新プログラムはWSUSには同期されませんが、Windows 10 バージョン1809以降の.NET Framework向けの累積更新プログラムは全てWSUSに対して提供されています。Windows 10 バージョン1903についてはWindows向けの5月と6月は全ての累積更新プログラムがWSUSに対して提供されました。これは、リリース直後で多数の既知の問題があるため、Windows 10 バージョン1903の企業内展開に既知の問題が影響しないようにするための配慮でしょう。通常は、Windows 10 バージョン1809のパターンに従います。
実施したテストケースは、Windowsの自動更新と「更新プログラムのチェック」ボタンのクリックによる手動更新です。それぞれ、「更新プログラムをいつインストールするかを選択する」で延期設定を行っていない場合(WUfB設定なし)と延期設定を行った場合(WUfB設定あり)で実施しました。その結果を以下の表2に示します。
Windows 10 バージョン1809(およびそれ以前)までは自動更新に任せている限り、Windows向けのオプションの更新プログラムがインストールされることはありません。しかし、Windows 10 バージョン1809から分離された.NET Frameworkの累積更新プログラムについては、WUfBの延期設定でカバーされていません。Windows 10 バージョン1903でWUfBの延期設定がある場合、Windows 10 バージョン1809と挙動は変わりませんでした。違いはWUfBの延期設定がない場合です。
Windows向けの累積更新プログラムは自動/手動に関係なく、「今すぐダウンロードしてインストールする」機能でカバーされます。一方、.NET Frameworkの累積更新プログラムは自動更新の場合にのみ「ダウンロード」ボタンが表示されました。その後、「ダウンロード」ボタンをクリックせずに放置していたPCでは、7月10日のBリリースのためのWindows Update実行時、同じ状態が続きました。つまり、一度この状態で検出されてしまうと、その後の更新プログラムを受け取るためには、「ダウンロード」ボタンで更新プログラムを先にインストールする必要があったのです。
6月のDリリースより前を最後に自動更新の確認が行われていないPCでは、7月のBリリースの確認時に6月のDリリースの.NET Frameworkの累積更新プログラムはスキップされました。一方で、7月初めに配布された「Office 2013」の更新プログラム(Word 2013およびFilter Pack)や、その他の条件下でも「ダウンロード」ボタンが表示されることがありました(自動更新のポリシーでダウンロードの通知設定をしている場合を除く)。
「ダウンロード」ボタンが提示される条件はまだまだ謎があります。あるいは新たに追加された機能の不具合かもしれません。表2のWindows 10 バージョン1809と比較すると、「ダウンロード」ボタンの提示は余計なことに思えます。
この結果を見る限り、Windowsの累積更新プログラムからWindows 10 バージョン1809で分離された.NET Frameworkの累積更新プログラムは、それまでのWindows Updateの仕組みで期待通りに制御できず、Windows 10 バージョン1903の「今すぐインストールしてダウンロードする」の対象にもならず、苦肉の策として一時的にブロックする「ダウンロード」ボタンを表示する機能が後付けされたような印象を受けます。一時的にブロックできるだけで、スキップできるわけではありません。
一方、「今すぐダウンロードしてインストールする」にピックアップされたWindowsの累積更新プログラムはスキップできます。「今すぐダウンロードしてインストールする」と「ダウンロード」の挙動の違いは、多くのユーザーを大いに惑わすことでしょう。
実は、今回のテストを実施した際、「更新プログラムをいつインストールするかを選択する」で延期設定を行うと、「更新プログラムをいつインストールするかを選択する」の項目が消えてしまうという現象に遭遇しました。この問題については、筆者の別連載「Windowsにまつわる都市伝説」(第143回)で取り上げる予定です。
Windows Server 2019以降についても調査を広げてみました。なぜなら、Windows Server 2019がリリースされて以降、.NET Frameworkの累積更新プログラムを検出する挙動に、Windows 10 バージョン1809とはまた違う違和感を持っていたからです。
テストケースは、Server Coreおよびデスクトップエクスペリエンスでの「Sconfig」ユーティリティーによる手動更新と、Windows Server 2019デスクトップエクスペリエンスの「設定」アプリのWindows Updateによる自動更新と手動更新です。
Sconfigユーティリティーの場合、全ての更新を検索すると.NET Frameworkのオプションの累積更新プログラムが検出され、推奨される更新では検出されませんでした。デスクトップエクスペリエンスの「設定」アプリのWindows Updateを使用した場合、どちらも自動更新でインストールされることはなく、「更新プログラムのチェック」ボタンのクリックでインストールされました。
2019年8月のBリリースは多くの人がお盆休みだったであろう8月14日でした。ご存じの方も多いかと思いますが、Windowsの全バージョンについて、Bリリースの更新プログラムのインストール後にVisual Basic 6.0(VB6)、Visual Basic for Applications(VBA)、Microsoft Visual Basic Scripting Edition(VBScript)がエラーになる場合がある問題が発覚し、CリリースがBリリースと同じ週の週末から翌週の週明けにかけて、本来のルールよりも早いタイミングで提供されました(Windows 10 バージョン1903を除く)。また、本来のルールと異なり、Windows 10/Windows Server 2016向けのCリリースはWSUSにも同期されました。
そして、8月21日には.NET FrameworkのCリリースが提供されました。.NET FrameworkのCリリースが提供されたということは、9月のBリリース(9月11日)にはOSと.NET Frameworkの両方の累積更新プログラムが提供されるはずです。
7月は.NET FrameworkのC/Dリリースの累積更新プログラムが提供されなかったので、8月のBリリースでは.NET Frameworkの累積更新プログラムはありませんでした。8月のWindows Updateは少し混乱しましたが、8月と9月のWindows Updateは本稿で紹介したのと同じ挙動を示すと思います。
8月のBリリースでは、Windows 10 バージョン1809以前向けに.NET Framework 4.8のWindows Updateによる配布が開始されたので、Windows 10 バージョン1803以前のユーザーはこれまで受け取ったことのない。NET Frameworkの累積更新プログラムを目にすることでしょう(.NET Framework 4.8が8月にインストールされた場合)。
なお、Windows 10 バージョン1903については、OSと.NET Frameworkの8月2回目の累積更新プログラムは、どちらもDリリースとして提供されるはずです。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.