地雷

追記:

もう、こうなったら戻すためにはWindows修復インストールしか手段は無さそうだ、ということは調べていて判った。ただ、SP2が絡んでくると面倒なんでSP2こみのセットアップCDがあると良いなとは思った。自宅に戻ったら早速試してみよう。

ちょっとした気の迷いでIE7 beta2 Previewをインストールした結果、二度とアンインストールできなくなってしまった。とほほほ。

その経緯

  • 1. IE7 Beta2 Previewをインストール

はてなのデザインが崩れる、いくつかのW3C準拠サイトで死ぬほど遅いので速攻アンインストールを決意。

  • 2. IE7 アンインストール失敗

アンインストーラは起動するものの、「Updating Registry」というフェイズでスタック。仕方が無いので一度アンインストーラのプロセスを強制的に止めて何度か実行していたがうまくいかず。

  • 3. アンインストーラが起動できない

なぜか、以下のメッセージが表示され、アンインストーラ自体が起動できなくなってしまった。

Internet Explorer 7 Beta 2 Preview cannot be uninstalled from this user account. Please log on to the same user account from which it was installed and try again.

あっちゃーと思い、いろいろと調べているとアンインストール用のバックアップディレクトリC:\WINDOWS\$NtUninstallie7b2pmx$\spuninst中の、spuninst.infの特定のセクションを削除することで回避可能とのこと。(以下、削除したセクション)

[NoSort.UserMustBeSameAsInstall.Section]
PresentOp = checkReg,HKCU,SOFTWARE\Microsoft\Internet
Explorer,InstalledByUser,0x10001
Display_String = Internet Explorer 7 Beta 2 Preview cannot be uninstalled
from this user account. Please log on to the same user account from which it
was installed and try again.

[Prerequisite]
condition = SingleOp,NoSort.UserMustBeSameAsInstall.Section

  • 4. アンインストーラ、またもやスタック

アンインストーラ自体は起動できるようになったのだが、またもや「Updating Registry」でスタック。RegMon等で調べてみると、以下のレジストリキーのOpen/Enumerateで失敗していることが判明した。

HKCU\AppEvents\Schemes\Apps\Explorer\FeedDiscovered\AAA0? (0?は文字化けしていた。実際には0x303A)

何故、このようなキーが出来たのかが全く不明なのだが、明らかに不正なキーエントリなので削除したところ、アンインストールのフェイズが進むようになった。

  • 5. IE6破壊

アンインストールが完了して、元のIE6環境が戻ってきたのでほっとしたのだが、IE6で普通にブラウジングはできるものの、HTML上でのキーボードキャプチャが一切効かないことが判明した。(一切のキーボード入力ができない状態)

  • 6. 仕方が無いのでIE7インストール

IE7はなんとか動くので、インストールしたままとした。

と、こんな状態。これで昨日の寛ぎの時間は全て潰れてしまった。あと、何が悲しいって、たまたまシステム復旧ポイントを作成しなかったこと、ハードディスクの復旧機能をオフにしていたことだ。(Microsoft製品のBeta2、それも一般公開バージョンということで油断していた)
IE6の環境が戻ってこない以上、自宅のPCはIE7のままにしておくしかないのだろうか。とほほほほ。