« IE7β2(日本語版)体験記: まさかのインストールエラー | トップページ | IE7β2(日本語版)は.getComponentVersion()が使えない? »

2006/05/21

IE7β2(日本語版)でタブが有効にならないトラブル(Yahoo!ツールバーが原因かも編)



日本hpのオンラインストア「hp directplus」

IE7β版についてこのブログで書くのは10回目のようです。今までのブログの記事についてはこちらに一覧をまとめましたので、ご参照ください。

今回のトラブルは、今までの中で最大のトラブルだったかもしれません。先日IE7β2日本語版をVaioにインストールした後も、Vaioはメインには使っていないので、今の今まで気づかなかったのですが、IE7の最大のセールスポイントの一つであるタブ機能がなぜか有効にならず、全て、別ウインドウで開くか、自分自身に開ききます。また、JavaScriptによるwindow.openでウインドウの表示位置を指定している場合にも、とんでもない位置に表示されます。結果的には、Yahoo!ツールバーのポップアップブロッカーが原因であることを突き止め、Yahoo!ツールバーのポップアップブロッカーをoffにすることで解決できましたが、ここにいたるまでにはかなりの時間を要しました。

 2月にインストールした英語版のβ2 Previewの時にはこのような現象は発生していませんでした。β2になって、このような現象が発生しました。


解明に時間がかかったのは、間違った推論による間違った解決策をいろいろ試したためです。まず、Googleで検索してみると、IE開発者チームによるブログ:

●IEBlog : Where are my tabs?
http://blogs.msdn.com/ie/archive/2006/05/01/587745.aspx

が私が抱えている問題であることが分かってきました。

この記事を読み進めていくと、「IE7のインストールファイルを普通に実行せずに、ダウンロードしたexeファイルをいったん解凍して、(後述する「ある目的」などで)その中のupdate.exeを直接実行すると、xmllite.dll というタブ表示にかかわっているDLLファイルが生成されず、その結果、タブ表示がなされないのだ」という推論をこの開発者は、このトラブルの原因の一つとして挙げています。

また、この場合、%windir%\KB915865.log というファイルも生成されないので、それならば、これが原因だと分かるとおっしゃる。しかし、Vaioの中を調べてみると、xmllite.dllもc:\windows\system32の中に存在しますし、「KB915865.log」もc:\windowsに存在します。そもそも、そんなupdate.exeなんか知りません。ダウンロードしたファイルを普通にそのまま実行しただけです。



ただ、KB915865.logをEmEditorで開いてみると、

21.581: KB915865 セットアップでエラーが発生しました: ファイル update.ver が正しくありません。

という行を発見しました。

このupdate.verってなにかよく分からなかったので、とにかく、先ほどのIE開発チームのブログのコメントなどを読み進めてみました。

「Or run the xmllitesetup.exe from the same folder as where you've run update.exe from... 」というのがまず目に入りますが、そもそもそのupdate.exeを見たことがありません。そこで、とりあえずダウンロードしたIE7のファイルを解凍レンジで解凍しました。すると、確かに、update.exeもありましたし、updateという名称のフォルダーの下にxmllitesetup.exeもあります。さらにはupdate.verもありました。

update.verはEmEditorで開けるものでしたが、dllファイルのコンポーネントID?などをリストアップしているようなファイルでした。

「これが不正って、何が原因なのだろう」と、さらにIE開発チームの読み進めていくと、驚きの事実に遭遇します。本当に驚きでした。なんと、この「update.exeを直接実行することが主な原因と思われるタブの不調ですが、Windows Genuine Advantage (WGA)」を回避しようとする試みの際に、このupdate.exeを直接実行しているのではないか」とマイクロソフトのIE開発チームは考えているようだということです。もちろん、それ以外の理由でも起こりうる現象なのか調査中だとも述べていますが・・・。

もちろん、私はそんな馬鹿なことはやっていませんし、XP HomeがプリインストールされたVaioをただ買っただけです。VaioにプリインストールされていたXPが海賊版だったっていう訳? 焦りました。

とりあえず、「xmllitesetup.exeを実行することで直ったと」いうブログの投稿を信じて実行してみるものの、全然変わらない。相変わらず、タブ表示は一切無し。JavaScriptによるwindow.openはleftもtopもポジションは無茶苦茶。

次に考えたのは、天下のSONYが海賊版とかは関係があるはずがないので、他に原因があるはずである。やはり、IE7β2Preview(英語版)関連に違いないと、予測しました。IE7とIE6の共存を実験したりしたことが原因かもしれないと真剣に考えました。であれば、自業自得だなと思いました。

今回、日本語版のIE7β2を入れるに当り、IE7β2 Preview(英語版)のアンインストールを先に行っておいたので、旧バージョンとも言うべき「IE7β2 Preview」との競合ということはまず考えられないと思いました。(あったら、それこそ、マイクロソフトのバグです。)

a href="http://shimax.cocolog-nifty.com/search/2005/12/kb905915windows_2185.html" target="_blank">Windows UpdateでIEの挙動が変になった原因が、IE7β版とIE6の(過去の)共存行為だった」2005年12月の苦い思いでも否が応でも思い出し、IE7とIE6の共存を過去にやった罪ゆえに負わされた罰かもしれないという思いを強めていきました。

これを確かめるために、今度はVaioではなく、メインで使っているHP Compaq Desktop dx2100 ST/CTにIE7β2(日本語版)をインストールしてみることにしました。このHPのパソコンは過去にIE7β2 Preview(英語版)をインストールしたこともありますし、IE6との共存という「罪」も犯したことのあるパソコンです。Vaioと全くといっていいほど同じような環境です。推論が正しければ、このパソコンでもタブ化できないはずです。

ところが、HPのパソコンで試してみると、タブ化できます。何の問題もありません。逆に途方にくれました。何で、Vaioでだけ駄目なの? もしかして、本当に・・・。

しかし、もう少し、Googleで検索してみることにしました。すると、意外なところから解決口が見えてきました。

●[教えて!goo] Internet Explorer 7 β2 を入れたのですが・・・。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2127827

でもタブブラウザにならないことが相談されていました。この中で、「Microsoft Connect」という英文サイトが紹介されていました。

この英文サイトに実は回答及びヒントがありました。海賊版だからとか、正規のインストール方法を取らなかったからとかいう後ろめたいことが理由ではなく、単にYahoo!ツールバーをアンインストールすれば解決できるというのです。

ええ?って思いました。確かに、Yahoo!ツールバーには、ポップアップブロッカーがあります。ですから、JavaScriptによるwindow.openがブロックされるというのであれば、まだ理解できます(仕様としては、ユーザーがリンクやボタンなどをクリックした際に表示されるサブウインドウはブロックしてはいけないが、いままでも「不具合」でブロックされてしまうことは、「まま」ありましたので、これなら理解できます。)。しかし、今回問題にしているのは、タブです。完全にブロックされるのではなく、タブに表示されるべきものが別ウインドウで表示されたり、JavaScriptによるポップアップウインドウの位置が完全に無視されるという問題です。

完全にブロックされ、何も表示されないのなら分かりますが・・・。そう思って、この「Microsoft Connect」の中の他の投稿(ディスカッション)を読んでみると、「リンクをクリックする時に、右クリックして、『新しいタブで開く』を選ぶ際にCtrlキーを押しながらクリックすると、リンク先がタブで表示される」というものでした。「そんな面倒くさいことはできない」というのが質問者のコメントだったと思いますが、私はこれを早速試してみました。すると、タブ化に初めて成功。

そして、ここで確かにYahoo!ツールバーが原因の可能性があると直感しました。なぜなら、Yahoo!ツールバーでブロックして欲しくないポップアップを強制表示する方法がまさしく、この「Ctrlキーを押しながらリンクやボタンをクリックする」ことだからです。早速、Yahoo!ツールバーをアンインストール。すると、嘘のようにタブ化できます。もちろん、Ctrlキーを押すなどの面倒な作業は一切不要。また、JavaScriptによるwindow.openでとんでもハップンなところに表示される不具合もありません。

じゃ、もしかして、「Yahoo!ツールバーをアンインストールしなくても、同ツールバーのポップアップブロック機能だけoffにすればいいことなの?」と再び、Yahoo!ツールバー様をインストール。再びタブ化できなくなっていることを確認後、ポップアップブロック機能をoffにしました。すると、タブ化できます!!

たった一箇所設定を変えるだけでよかったのに、何時間かかかったことか・・・。

残る疑問は二つです。実は、HPのパソコンにもYahoo!ツールバーをインストールしていたのに、何で、HPのパソコンではうまくいったのかということです。きっと、ポップアップブロック機能をoffにしていたんだなと思って、今調べてみると、HPのパソコンでもポップアップブロック機能はonになっています。むむむ。

ツールバーのバージョンを調べてみると微妙に違うことが分かりました。タブ化がうまくいかないVaioにインストールされたYahoo!ツールバーは最新版の5.3.15.4でしたが、HPのそれは5.3.15.2でした。vectorに5.3.15.3があったので、それをVaioにインストールしてみましたが、やっぱりタブ化できません。でも、5.3.15.2ならうまくタブ化できるということになれば、このYahoo!ツールバー原因説を決定付けられますが、5.3.15.2の入手方法が分かりません。

逆に、HPのパソコンに5.3.15,4のYahoo!ツールバーをインストールしてみて、タブ化できないかどうかをテストしてみても良いのですが、昨日からずっとこの原因解明をしていたため、今は力が出ません。また、再び5.3.12に戻したくなった場合には、超強力ディスク・バックアップソフト「True Image」先生の手を借りなければならず面倒なので、機会があればやってみるということにしたいと思います。

とにかく、Vaioで、Yahoo!ツールバーをアンインストールするか、ポップアップブロック機能をoffにすればタブ化できたのは事実です。もし、同じような症状に悩んでおられる方がおられて、Yahoo!ツールバーをインストールしているならば、一時的にポップアップブロック機能をoffにするかアンインストールしてみて現象が改善するかどうかを調べてみるのもいいかも知れません。

二つ目の疑問は、KB915865.log に残された「KB915865 セットアップでエラーが発生しました: ファイル update.ver が正しくありません。」という意味深なエラーメッセージです。結局これはタブ化できないこととは少なくとも関係ありそうにありません。もちろん、VaioにプリインストールされたXPが海賊版であったとかいうことは全く無く・・・。マイクロソフト様、可能性のひとつであっても、焦らせるようなことは書かないでよね・・・(私の英語の読み誤りの可能性もあります。英語原文を必ずあたってください。)。

|

« IE7β2(日本語版)体験記: まさかのインストールエラー | トップページ | IE7β2(日本語版)は.getComponentVersion()が使えない? »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67411/10170878

この記事へのトラックバック一覧です: IE7β2(日本語版)でタブが有効にならないトラブル(Yahoo!ツールバーが原因かも編):

« IE7β2(日本語版)体験記: まさかのインストールエラー | トップページ | IE7β2(日本語版)は.getComponentVersion()が使えない? »