(Win7) IE11にあがり損ねたPCの話

仕事柄多数のWindows7クライアントPCのお相手をしているわけですが、IE8〜10のサポート切れの対応をするため、一斉にIE11をクライアントに展開しました。もちろんそうなるとうまく動かないPCが出てくるわけで、中にはどうしようもなくHDDリカバリーになるものも多いのですが、たまたま時間があった(エンドユーザ様に時間的な猶予をいただける状況だった)PCであれやこれや試した話を参考までに書いておこうと思います。



エンドユーザ様の申告は「デスクトップからIEのショートカットがなくなりサポート担当に新たに作成して貰ったが、IEを起動するとメニューが英語表記になっている。」という内容でした。イベントログを確認するとこの日の16:47に自動更新が走ってアップデートは成功していたとの記録が残っていました。

HKLM\Software\Microsoft\Internet Explorer の中はこうなっています。srcVersion を見ると本人はIE11のつもりらしい。

レジストリの内容

で、Windowsの機能を確認すると、IEは有効になっていない上にIE8だと言ってます。

Windowsの機能

IEアップデートに失敗するとここが外れる例は以前にも体験済みだったのですが、これが泥沼の入口にしか過ぎないことにまだ気付いていませんでした。

チェックを入れてOKすると普通はコンポーネントのインストールが始まるのですが、全然その気配なし。もう一度この画面を開くとチェックは外れたまま…。こりゃおかしいですな。

やっと dism.exe の存在を思い出し、MSDNライブラリの記事にしたがって、 Dism /Online /Cleanup-Image /ScanHealth
を実行してみます。

その時のログの抜粋がこちら。

Checking System Update Readiness.
Binary Version 6.1.7601.18741
2016-01-21 18:15

Checking Windows Servicing Packages

Checking Package Manifests and Catalogs

Checking Package Watchlist

Checking Component Watchlist

Checking Packages

Checking Component Store

(f)	CSI Manifest and S256H Do Not Match	0x00000000	winsxs\Manifests
\x86_microsoft-windows-i..tocolimplementation_31bf3856ad364e35_11.2.9600.16428_n
one_88216b07fe83d256.manifest	x86_microsoft-windows-i..tocolimplementation_31b
f3856ad364e35_11.2.9600.16428_none_88216b07fe83d256	

Summary:
Seconds executed: 1114
 Found 1 errors
  CSI Manifest and S256H Do Not Match Total count: 1

Unavailable repair files:
	winsxs\manifests\x86_microsoft-windows-i..tocolimplementation_31bf3856ad
364e35_11.2.9600.16428_none_88216b07fe83d256.manifest
ただし以下のコマンドは Win7 では受け付けてくれないようです。

Dism /Online /Cleanup-Image /CheckHealth

ともかく、機能の追加を dism でやってみましょう。

Dism /online /Get-Features

とやると、IEの featurename は Internet-Explorer-Optional-x86 なんだそうです。

dism /online /enable-feature /featureName:Internet-Explorer-Optional-x86

うまくいって再起動要求がきました。で、再起動したところ確かに、IE8のチェックは入りました。

Windowsの機能

が、相変わらずスタートメニューにIEはないし、コントロールパネルもこの調子です。

英語のメニュー

もう一度IE8を off then on。が、状況は変わらず。

あとはIE11だと思っているレジストリをなんとかできればよいのですが。複数サイトでよく見る呪文をとなえてみました。

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*1
1.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fnam
e /norestart" 

(もちろん途中に改行は不要です。)

一部「アクセスが拒否されました」となるのですが、とりあえず無視して先に進み、完了したら再起動。が、途中で Ping の応答がなくなってしまいました。自動的に再起動がかかったのかと思いきや、どうやら刺さってしまったようです。

遠隔地にあったPCなので近所の人に強制再起動をお願いしたところ、Windowsの起動には成功しました(冷や汗)。

IE11復活

IE11にはなったが、やはりチェックは外れた状態です。チェックを入れてみますが、やはりインストールなどの画面の動きはありません。dism でパッケージの状態を確認すると、有効にするための変更待ちとのことだったので再起動してみます。

メニューはまだ英語

やっとメニューは英語だがここまでは復活できました。でも言語パックはインストール済みなのに…。ちなみにインターネットオプションの画面は日本語。なので言語パックのインストールが中途半端ということでしょう。

一度言語パックを消して再インストールしますが、状況は変わりません。

インターネットオプション

一旦言語を en-us のみにして再起動、ja のみに戻して再起動。でもNGです。ダメもとでもう一度IE11のコンポーネントを消す呪文を唱えてみて再起動します。

祈ってから再起動すると日本語メニューバーのIE8に戻っている!

IE8-ja

ならばと、手動でIE11をインストールします。

IE11-ja

やっとこさまともな IE11 になりました。

戻る