Windows XP の延命 Part2 (実験レポート風)
2014年05月22日
Microsoft Update の「優先度の高い更新プログラム」に「Windows XP のサポート
終了のお知らせ (KB2934207)」と「Update for Microsoft Security Essentials
- 4.5.216.0 (KB2949787)」が出現することへの対応

画像1 (画像クリックで拡大)
すんなり適用すると、こんな具合になってしまいます。(画像2)

画像2 (画像クリックで拡大)
適用しないで、これら2つの項目を Microsoft Update の非表示にしても、
「重要:重要な更新プログラムが非表示に設定されました」という表示が
出続けます。(画像3)

画像3 (画像クリックで拡大)
どうしよう?
実際にいろいろ実験、考察すると次のことがわかりました。
◎「Windows XP のサポート終了のお知らせ (KB2934207)」を適用(インス
トール)せずに、Microsoft Update の候補にならないようにするには、
「C:\WINDOWS\system32」フォルダ内に KB2934207 の実体ファイルの
「xp_eos.exe」があればよい。
(レジストリ項目のあるなしは関係なく、「xp_eos.exe」の有無で判断・
判定しているようです。)
◎Microsoft Security Essentials 4.4.304.0 のまま、レジストリの
バージョン項目を Version 4.5.216.0 のものに偽装すると、Microsoft
Update の候補にならない。
MSE_Version_4.5.216.0.reg
----------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Security Client]
"VersionMajor"=dword:00000004
"VersionMinor"=dword:00000005
"Version"=dword:040500d8
"DisplayVersion"="4.5.216.0"
----------
◎Microsoft Security Essentials 4.5.216.0 にバージョンアップし、
「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えると、画像4
のような表示は出なくなり、正常な表示(画像5)になる。
(「msseces.exe」はロックがかかっており、「SRCpy」や Windows 2000
Resource Kits の「Inuse.exe: File-In-Use Replace Utility」を使い
置き換えします。)

画像4 msseces.exe 4.5.216.0 のまま (画像クリックで拡大)

画像5 msseces.exe 4.4.304.0 に置き換え (画像クリックで拡大)
--- 状態1 ---
「Windows XP のサポート終了のお知らせ (KB2934207)」と「Update for
Microsoft Security Essentials - 4.5.216.0 (KB2949787)」どちらも
適用(インストール)していないとき。
1. 「xp_eos.exe」を「C:\WINDOWS\system32」フォルダ内にコピーする。
2. Microsoft Security Essentials 4.5.216.0 にバージョンアップし、
「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 状態2 ---
「Windows XP のサポート終了のお知らせ (KB2934207)」と「Update for
Microsoft Security Essentials - 4.5.216.0 (KB2949787)」を適用
(インストール)してしまって、警告表示がうるさいとき。
1. 「C:\WINDOWS\system32\xp_eos.exe」を任意の場所にコピーします。
2. 「Windows XP のサポート終了のお知らせ (KB2934207)」をアンインス
トールします。
(C:\WINDOWS\$NtUninstallKB2934207$\spuninst\spuninst.exe を実行)
3. 手順1 で保存した「xp_eos.exe」を「「C:\WINDOWS\system32」
フォルダ内にコピーします。
4. 「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 状態3 ---
(警告表示が頭にきたので) 「Windows XP のサポート終了のお知らせ
(KB2934207)」と、「Microsoft Security Essentials 4.5.216.0」とも
アンインストールしてしまったとき。
1. 「xp_eos.exe」を「C:\WINDOWS\system32」フォルダ内にコピーします。
2. Microsoft Security Essentials 4.4.304.0 をインストールします。
3. 続いて、Microsoft Security Essentials 4.5.216.0 を(アップデート)
インストールします。
(*XP の場合、Microsoft Security Essentials 4.5.216.0 を新規インス
トール出来ないので、このような手順が必要になります。)
4. 「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 作業で必要になるファイル類の準備 ---
Microsoft Security Essentials 4.4.304.0
32bit 日本語
http://web.archive.org/web/20140331132926/http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/x86/MSEInstall.exe
64bit 日本語
http://web.archive.org/web/20140122131235/http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/amd64/MSEInstall.exe
32bit 英語
http://web.archive.org/web/20140325144125/http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/x86/MSEInstall.exe
64bit 英語
http://web.archive.org/web/20140405123118/http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/amd64/MSEInstall.exe
Microsoft Security Essentials 4.5.216.0
32bit 日本語
http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/x86/MSEInstall.exe
64bit 日本語
http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/amd64/MSEInstall.exe
32bit 英語
http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/x86/MSEInstall.exe
64bit 英語
http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/amd64/MSEInstall.exe
Inuse.exe: File-In-Use Replace Utility
Inuse.exe: 使用中ファイルの置き換えユーティリティ
http://download.microsoft.com/download/win2000platform/inuse/1.0/NT5/EN-US/inuse.exe
「Explzh」等のアーカイバソフトで順に抽出
inuse.exe >> inuse.msi >> inuse.cab >> inuse.exe
msseces.exe Version 4.4.304.0
(どの言語版のものであってもこのファイルは英語)
上記の Version 4.4.304.0 のインストーラー MSEInstall.exe
「Explzh」等のアーカイバソフトで順に抽出
32bit
MSEInstall.exe >> epp.msi (x86ディレクトリ内) >> product.cab >> msseces.exe
64bit
MSEInstall.exe >> epp.msi (amd64ディレクトリ内) >> product.cab >> msseces.exe
xp_eos.exe
WindowsXP-KB2934207-x86-JPN.exe
http://download.windowsupdate.com/msdownload/update/software/crup/2014/03/windowsxp-kb2934207-x86-jpn_2b1ed0e098973720e4016e3ce77eb5345413bfc8.exe
WindowsXP-KB2934207-x86-ENU.exe
http://download.windowsupdate.com/msdownload/update/software/crup/2014/03/windowsxp-kb2934207-x86-enu_a47ce3bac240b6d955918ffdeef415a32fec6681.exe
「 /x」スイッチ付でファイルを展開 >> xp_eos.exe
--- 「msseces.exe」の置き換え ---
「作業で必要になるファイル類の準備」で得た「msseces.exe」と、
「inuse.exe」を同じフォルダ内にコピーします。
同じフォルダ内に、下記のバッチファイルを作り、実行します。
(再起動あり。再起動後に置き換えが完了します。)
443040.cmd
----------
@echo off
inuse msseces.exe "C:\Program Files\Microsoft Security Client\msseces.exe" /y
shutdown /r /f /t 10 /c "ファイル入替え作業を完遂するため、10秒後にPCを再起動します。"
----------
他に「inuse.exe」を使わずに、「SRCpy」を使ってもファイル置き換え作業が
出来ます。
*2014年5月22日(木) 以下追記
「◎Microsoft Security Essentials 4.4.304.0 のまま、レジストリの
バージョン項目を Version 4.5.216.0 のものに偽装…」について、
Version 4.5.216.0 に偽装している状態で、Version 4.5.216.0 にアップ
デートしようとすると、画像6 のような警告が出てアップデート出来ません。
一旦、レジストリの項目を本来のバージョンに戻してからアップデートします。
MSE_Version_4.4.304.0.reg
----------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Security Client]
"VersionMajor"=dword:00000004
"VersionMinor"=dword:00000004
"Version"=dword:04040130
"DisplayVersion"="4.4.304.0"
----------

画像6 Version 4.5.216.0 偽装のままアップデートしようとすると (画像クリックで拡大)
〔「msseces.exe」の置き換え〕について
ロックされている「msseces.exe」を置き換える方法に、「inuse.exe」による
ものの手順や、他に「SRCpy」によるものがあることを書きました。
なんてことはない、「タスク マネージャ」の「プロセス」タブで、「msseces.exe」を
選択し、「プロセスの終了」をすれば、自由にファイルをいじくることが出来ます。
「灯台下暗し」とはこのことなのかなぁ。反省
Microsoft Security Essentials 4.4.304.0 英語版 から、Version 4.5.216.0 日本語版
へのアップデートは、画像7 の警告が出てアップデート出来ません。

画像7 4.4.304.0 英語版 から 4.5.216.0 日本語版 へアップデートしようとすると (画像クリックで拡大)
Microsoft Security Essentials がアンインストールされ、PC に存在しない場合、
Microsoft Security Essentials 4.5.216.0 を、XP に新規インストールしようと
すると、画像8 の警告が出てインストール出来ません。
本文中に記載の方法で、インストールします。

画像8 XP では、Version 4.5.216.0 の新規インストールは出来ません (画像クリックで拡大)
Microsoft Security Essentials をアンインストールするには、「コントロール
パネル」、「プログラムの追加と削除」から「Microsoft Security Essentials」を
選択し、削除する方法以外に、直接
「"C:\Program Files\Microsoft Security Client\Setup.exe" /x」の実施や、
Microsoft Security Essentials のインストーラー「MSEInstall.exe」にアンイン
ストール機能のスイッチを付けた「MSEInstall.exe /u」の方法があります。
数日前にエンジンファイルがバージョンアップしたのに、相も変わらず定義ファイルの
更新が通常の方法では遅いです。この辺のことについて、過去の記事「Microsoft Security
Essentials の定義ファイル更新の動作が遅い」の内容に若干の不備があります。
近日中に「Microsoft Security Essentials の定義ファイル更新の動作が遅い その2」を
作成したいです。
終了のお知らせ (KB2934207)」と「Update for Microsoft Security Essentials
- 4.5.216.0 (KB2949787)」が出現することへの対応

画像1 (画像クリックで拡大)
すんなり適用すると、こんな具合になってしまいます。(画像2)

画像2 (画像クリックで拡大)
適用しないで、これら2つの項目を Microsoft Update の非表示にしても、
「重要:重要な更新プログラムが非表示に設定されました」という表示が
出続けます。(画像3)

画像3 (画像クリックで拡大)
どうしよう?
実際にいろいろ実験、考察すると次のことがわかりました。
◎「Windows XP のサポート終了のお知らせ (KB2934207)」を適用(インス
トール)せずに、Microsoft Update の候補にならないようにするには、
「C:\WINDOWS\system32」フォルダ内に KB2934207 の実体ファイルの
「xp_eos.exe」があればよい。
(レジストリ項目のあるなしは関係なく、「xp_eos.exe」の有無で判断・
判定しているようです。)
◎Microsoft Security Essentials 4.4.304.0 のまま、レジストリの
バージョン項目を Version 4.5.216.0 のものに偽装すると、Microsoft
Update の候補にならない。
MSE_Version_4.5.216.0.reg
----------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Security Client]
"VersionMajor"=dword:00000004
"VersionMinor"=dword:00000005
"Version"=dword:040500d8
"DisplayVersion"="4.5.216.0"
----------
◎Microsoft Security Essentials 4.5.216.0 にバージョンアップし、
「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えると、画像4
のような表示は出なくなり、正常な表示(画像5)になる。
(「msseces.exe」はロックがかかっており、「SRCpy」や Windows 2000
Resource Kits の「Inuse.exe: File-In-Use Replace Utility」を使い
置き換えします。)

画像4 msseces.exe 4.5.216.0 のまま (画像クリックで拡大)

画像5 msseces.exe 4.4.304.0 に置き換え (画像クリックで拡大)
--- 状態1 ---
「Windows XP のサポート終了のお知らせ (KB2934207)」と「Update for
Microsoft Security Essentials - 4.5.216.0 (KB2949787)」どちらも
適用(インストール)していないとき。
1. 「xp_eos.exe」を「C:\WINDOWS\system32」フォルダ内にコピーする。
2. Microsoft Security Essentials 4.5.216.0 にバージョンアップし、
「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 状態2 ---
「Windows XP のサポート終了のお知らせ (KB2934207)」と「Update for
Microsoft Security Essentials - 4.5.216.0 (KB2949787)」を適用
(インストール)してしまって、警告表示がうるさいとき。
1. 「C:\WINDOWS\system32\xp_eos.exe」を任意の場所にコピーします。
2. 「Windows XP のサポート終了のお知らせ (KB2934207)」をアンインス
トールします。
(C:\WINDOWS\$NtUninstallKB2934207$\spuninst\spuninst.exe を実行)
3. 手順1 で保存した「xp_eos.exe」を「「C:\WINDOWS\system32」
フォルダ内にコピーします。
4. 「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 状態3 ---
(警告表示が頭にきたので) 「Windows XP のサポート終了のお知らせ
(KB2934207)」と、「Microsoft Security Essentials 4.5.216.0」とも
アンインストールしてしまったとき。
1. 「xp_eos.exe」を「C:\WINDOWS\system32」フォルダ内にコピーします。
2. Microsoft Security Essentials 4.4.304.0 をインストールします。
3. 続いて、Microsoft Security Essentials 4.5.216.0 を(アップデート)
インストールします。
(*XP の場合、Microsoft Security Essentials 4.5.216.0 を新規インス
トール出来ないので、このような手順が必要になります。)
4. 「C:\Program Files\Microsoft Security Client」フォルダ内の
「msseces.exe」を、Version 4.4.304.0 のものに置き換えます。
--- 作業で必要になるファイル類の準備 ---
Microsoft Security Essentials 4.4.304.0
32bit 日本語
http://web.archive.org/web/20140331132926/http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/x86/MSEInstall.exe
64bit 日本語
http://web.archive.org/web/20140122131235/http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/amd64/MSEInstall.exe
32bit 英語
http://web.archive.org/web/20140325144125/http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/x86/MSEInstall.exe
64bit 英語
http://web.archive.org/web/20140405123118/http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/amd64/MSEInstall.exe
Microsoft Security Essentials 4.5.216.0
32bit 日本語
http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/x86/MSEInstall.exe
64bit 日本語
http://download.microsoft.com/download/6/B/A/6BA6CAB0-DDB8-4DDD-88E3-F707D96E84D7/JAJP/amd64/MSEInstall.exe
32bit 英語
http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/x86/MSEInstall.exe
64bit 英語
http://download.microsoft.com/download/A/3/8/A38FFBF2-1122-48B4-AF60-E44F6DC28BD8/ENUS/amd64/MSEInstall.exe
Inuse.exe: File-In-Use Replace Utility
Inuse.exe: 使用中ファイルの置き換えユーティリティ
http://download.microsoft.com/download/win2000platform/inuse/1.0/NT5/EN-US/inuse.exe
「Explzh」等のアーカイバソフトで順に抽出
inuse.exe >> inuse.msi >> inuse.cab >> inuse.exe
msseces.exe Version 4.4.304.0
(どの言語版のものであってもこのファイルは英語)
上記の Version 4.4.304.0 のインストーラー MSEInstall.exe
「Explzh」等のアーカイバソフトで順に抽出
32bit
MSEInstall.exe >> epp.msi (x86ディレクトリ内) >> product.cab >> msseces.exe
64bit
MSEInstall.exe >> epp.msi (amd64ディレクトリ内) >> product.cab >> msseces.exe
xp_eos.exe
WindowsXP-KB2934207-x86-JPN.exe
http://download.windowsupdate.com/msdownload/update/software/crup/2014/03/windowsxp-kb2934207-x86-jpn_2b1ed0e098973720e4016e3ce77eb5345413bfc8.exe
WindowsXP-KB2934207-x86-ENU.exe
http://download.windowsupdate.com/msdownload/update/software/crup/2014/03/windowsxp-kb2934207-x86-enu_a47ce3bac240b6d955918ffdeef415a32fec6681.exe
「 /x」スイッチ付でファイルを展開 >> xp_eos.exe
--- 「msseces.exe」の置き換え ---
「作業で必要になるファイル類の準備」で得た「msseces.exe」と、
「inuse.exe」を同じフォルダ内にコピーします。
同じフォルダ内に、下記のバッチファイルを作り、実行します。
(再起動あり。再起動後に置き換えが完了します。)
443040.cmd
----------
@echo off
inuse msseces.exe "C:\Program Files\Microsoft Security Client\msseces.exe" /y
shutdown /r /f /t 10 /c "ファイル入替え作業を完遂するため、10秒後にPCを再起動します。"
----------
他に「inuse.exe」を使わずに、「SRCpy」を使ってもファイル置き換え作業が
出来ます。
*2014年5月22日(木) 以下追記
「◎Microsoft Security Essentials 4.4.304.0 のまま、レジストリの
バージョン項目を Version 4.5.216.0 のものに偽装…」について、
Version 4.5.216.0 に偽装している状態で、Version 4.5.216.0 にアップ
デートしようとすると、画像6 のような警告が出てアップデート出来ません。
一旦、レジストリの項目を本来のバージョンに戻してからアップデートします。
MSE_Version_4.4.304.0.reg
----------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Security Client]
"VersionMajor"=dword:00000004
"VersionMinor"=dword:00000004
"Version"=dword:04040130
"DisplayVersion"="4.4.304.0"
----------

画像6 Version 4.5.216.0 偽装のままアップデートしようとすると (画像クリックで拡大)
〔「msseces.exe」の置き換え〕について
ロックされている「msseces.exe」を置き換える方法に、「inuse.exe」による
ものの手順や、他に「SRCpy」によるものがあることを書きました。
なんてことはない、「タスク マネージャ」の「プロセス」タブで、「msseces.exe」を
選択し、「プロセスの終了」をすれば、自由にファイルをいじくることが出来ます。
「灯台下暗し」とはこのことなのかなぁ。反省
Microsoft Security Essentials 4.4.304.0 英語版 から、Version 4.5.216.0 日本語版
へのアップデートは、画像7 の警告が出てアップデート出来ません。

画像7 4.4.304.0 英語版 から 4.5.216.0 日本語版 へアップデートしようとすると (画像クリックで拡大)
Microsoft Security Essentials がアンインストールされ、PC に存在しない場合、
Microsoft Security Essentials 4.5.216.0 を、XP に新規インストールしようと
すると、画像8 の警告が出てインストール出来ません。
本文中に記載の方法で、インストールします。

画像8 XP では、Version 4.5.216.0 の新規インストールは出来ません (画像クリックで拡大)
Microsoft Security Essentials をアンインストールするには、「コントロール
パネル」、「プログラムの追加と削除」から「Microsoft Security Essentials」を
選択し、削除する方法以外に、直接
「"C:\Program Files\Microsoft Security Client\Setup.exe" /x」の実施や、
Microsoft Security Essentials のインストーラー「MSEInstall.exe」にアンイン
ストール機能のスイッチを付けた「MSEInstall.exe /u」の方法があります。
数日前にエンジンファイルがバージョンアップしたのに、相も変わらず定義ファイルの
更新が通常の方法では遅いです。この辺のことについて、過去の記事「Microsoft Security
Essentials の定義ファイル更新の動作が遅い」の内容に若干の不備があります。
近日中に「Microsoft Security Essentials の定義ファイル更新の動作が遅い その2」を
作成したいです。
スポンサーサイト
コメント