更新プログラムの適用に失敗したら(2.5)〜適用の条件〜:補足

前回の補足として、「更新プログラムの前提条件」に関係する失敗例を2つ紹介します。

 

<1>
たとえばKB3184471は、適用の前提条件として「Active Directory Lightweight Directory Service (AD LDS) 」が必要です。

 







 

逆に言うと、この機能をインストールしていない環境であれば、KB3184471の適用は不要です。
(Windows7などのクライアントOSであれば、AD LDSをインストールしている方はほとんどいないと思います。)

半年や一年に一度、まとめて更新プログラムを適用する場合、「前回の適用後にリリースされた更新プログラム」を全て適用しようとする場合があるようですが、そんな時に「その環境では不要な更新プログラム」が紛れ込みやすいようです。

どうしても適用できない更新プログラムがあったら、本当に必要かどうか見直してみましょう。

 

<2>
更新プログラムには、適用後にOSの再起動を要求されるものが多くあります。
再起動が要求されるということはつまり、「再起動するまでは適用が完全には完了しておらず、最後の仕上げが残った状態である。」と言えます。

要求を無視して次々と更新プログラムを適用し、最後に一度だけ再起動することも可能ではありますが、稀に一部の更新プログラムが適用できていないことがあります。
その原因をはっきりと解明できたわけではありませんが、おそらく以下のようなものだろうと推測しています。

 

ある更新プログラム「B」に、"先に更新プログラム「A」が適用済みであること。"という前提条件があるとします。
どちらも未適用の環境に「A」を適用し、再起動の要求を無視して「B」を適用し、再起動の要求に従って再起動したとします。

すると再起動の最中に「A」と「B」の「仕上げ」が行われるわけですが、その処理が適用作業と同じ「A」→「B」の順序で行われる保証などありません。
OSの内部処理は見えませんが、たまたま先に「B」の仕上げが行われたとしたら、失敗して当然です。
その後の「A」の仕上げは問題無く完了するので、再起動後は「Aだけしか適用されていない」状態となります。

改めて「B」を適用すれば成功するはずですが、二度手間になってしまいます。
他の更新プログラムの前提条件である更新プログラムを適用したら、次に進む前に一度再起動することをお勧めします。