WSUS では、特定の Outlook 2010 更新プログラムに [削除の承認] を設定してアンインストールを配信すると、クライアントで繰り返しアンインストールを要求される場合があります。
たとえば、こちらのブログ で紹介している不具合が確認された今月 2017/6 リリースの Outlook 2010 更新プログラム KB3203467 を WSUSで [削除の承認] に設定すると発生する場合があります。今回のブログではこの問題について説明します。
Outlook 2010 の更新プログラムの exeファイルには、特定の言語に依存しないコア パッケージの MSP ファイルと言語固有パッケージの MSP ファイルの 2 種類が含まれており、言語固有パッケージに変更がない場合は前月と同じ PatchGUID を持つ言語固有パッケージが含まれることに起因して発生します。Outlook 2013/2016 の更新プログラムの exe ファイルはこのような構成になっておらず 1 つの MSP ファイルにまとめられているため、この問題は発生しません。
現象
WSUS で特定の Outlook 2010 更新プログラムに [削除の承認] を設定してアンインストールを配信すると、クライアントで繰り返しアンインストールを要求される。
原因
Office の更新プログラムに対して以下のコマンドを実行すると、exeファイルに含まれるファイルを展開することができます。
<Outlook 2010 の更新プログラムの EXE ファイルへのファイルパス> /extract:<展開先パス>
例: C:tempoutlookloc2010-kb3203467-fullfile-x86-glb.exe /extract:C:temp
たとえば KB3203467 に対して以下のコマンドを実行すると、以下のようなファイルが展開されます。
Outlook 2010 の更新プログラムには、特定の言語に依存しないコア パッケージと言語固有パッケージが含まれています。
日本語環境でインストールを行うと outlook-x-none.msp と outlookintl-ja-jp.msp がインストールされます。
outlook-x-none.msp がコア パッケージであり、outlookintl-ja-jp.msp が言語固有の日本語パッケージです。
拡張子 msp ファイルは更新プログラムであり、拡張子 xml ファイルは定義ファイルです。
outlook-x-none.xml を Internet Explorer で開くと、以下のように表示されます。
ここで PatchGUID= の後に表示される番号がこのコア パッケージの PatchGUID です。
同じように outlookintl-ja-jp.xml を Internet Explorer で開きます。
ここで PatchGUID= の後に表示される番号がこの言語固有の日本語パッケージの PatchGUID です。
WSUS で [削除の承認] を設定した場合は、該当の更新プログラムに含まれる PatchGUID が既にインストールされているかによって検出が行われます。
言語固有パッケージに変更がない場合は前月と同じ PatchGUIDを持つ言語固有パッケージが含まれるため、たとえば 2017/4 5 6 の Outlook 2010 更新プログラムには以下のように同じ PatchGUIDの日本語パッケージが含まれています。
そのため、WSUS で 2017/6 の KB3203467 を [削除の承認] に設定しクライアントでアンインストールが行われても、
2017/5 の KB3191906 または 2017/4 の KB3118388 がインストールされている場合は {168FE69A-693C-4665-8D0A-7614491A8AEC} がインストールされていることから
WSUS は 2017/6 の KB3203467 がインストールされていると検出し、クライアントで繰り返しアンインストールを要求される動作となります。
コア パッケージ (outlook-x-none.msp) |
言語固有日本語パッケージ (outlookintl-ja-jp.msp) |
|
2017/4 (KB3118388) | {124DB101-DDA3-4627-9AB2-9525A20A7F36} | {168FE69A-693C-4665-8D0A-7614491A8AEC} |
2017/5 (KB3191906) | {E6143694-378E-46D4-A9C7-15AE94BF7328} | {168FE69A-693C-4665-8D0A-7614491A8AEC} |
2017/6 (KB3203467) | {70DAB69D-244C-403A-9C0F-CB7748CD2991} | {168FE69A-693C-4665-8D0A-7614491A8AEC} |
なお、Outlook 2013/2016 の更新プログラムの exe ファイルはこのような構成になっておらず 1 つの MSP ファイルにまとめられているため、この問題は発生しません。
アンインストールを繰り返し要求される可能性がある更新プログラムかを判断する方法
この問題が発生する更新プログラムであるかは、以下の手順で確認できます。
1. [削除の承認] を設定したいKB をダウンロードし、前述の手順に従って展開してから outlookintl-ja-jp.xml を開いて PatchGUID を確認する。
2. ビルド一覧 のページにアクセスして [削除の承認] を設定したいKB の前の月の KB へのリンクから更新プログラムをダウンロードして、前述の手順に従って outlookintl-ja-jp.xml に同じ PatchGUIDが含まれていないかを確認する。
・別の PatchGUID である場合は発生しない。
・同じ PatcGUID が指定されている場合は前月の KB がインストールされている場合は発生する。さらに前の月の KB についても同様に作業を行い、同じ PatchGUIDが含まれている KB がそれ以前にも存在していないかを確認する。
対処方法
同じ日本語パッケージを含む更新プログラムが既にインストールされている可能性がある場合は、
WSUS では削除したい更新プログラム (上記の例では 2017/6 の KB3203467) を [削除の承認] に設定せず、[拒否] または [未承認] に設定した上で、
以下のいずれかの方法で対応することをご検討ください。
方法 1. クライアントで [プログラムと機能] から手動で 2017/6 の KB3203467 をアンインストールする。
方法 2. 共通パッケージのアンインストールをコマンドを使用して実行する (手順は こちらのブログ を参照)
msiexec /package {製品 GUID} /uninstall {70DAB69D-244C-403A-9C0F-CB7748CD2991}
方法 3. 同じ PatchGUID を持つ更新プログラムを WSUS ですべて [削除の承認]に設定して削除してから、適用したい最新の更新プログラムを [承認] に戻す
(2017/6 の KB3203467 を削除したい場合は、WSUS で 2017/4 (KB3118388) 2017/5 (KB3191906) 2017/6 (KB3203467) を 3 つとも [削除の承認] に設定し、削除が完了したら 2017/4 (KB3118388) と 2017/5 (KB3191906)、または 2017/5 (KB3191906) だけを [承認] に戻す)
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。