2015年9月21日月曜日

Windows 10:タスクバーのアイコンが重複する問題

2015/10/1追記:
Cyberfoxについては、41.0.2で下記の問題に対応したようです(既に直した後のため未確認)。

Windows 10にアップグレードしてから時々おかしなことが起きるようになりました。
下図はタスクバーにピン留めしたCyberfoxのアイコンです。これをクリックしてCyberfoxを開くと、ピン留めしたのとは別にCyberfoxのアイコンがもう一つ表示されます。使用する上で問題はありませんが、実に気持ち悪い。


下図はこの状態で7+ Taskbar TweakerのTaskbar Inspectorを表示させたところ。ピン留めしたのと開いているCyberfoxとは別のIDになっています。


一方、下図は同じくピン留めしたWaterfoxを開いた場合です。ピン留めしたIDからWaterfoxは開いています。


ただしこの現象はCyberfoxだけで起きるわけではありません。Waterfoxで起きる場合もありますし、ググってみるとFirefoxや全く別のアプリケーションで起きることもあるようです。
Cyberfoxのフォーラムでこの問題が取り上げられていました。

Cyberfox in W10 taskbar - 8pecxstudios Support Forums

この中でレジストリのTaskBarIDsというキーについて触れられています。FirefoxやCyberfoxをインストールすると、ここにアプリケーションのIDが登録されるようです。ピン留めした際、アイコンがこのIDにならないことが原因みたいです。


フォーラムではこのTaskBarIDsを削除してしまう方法が紹介されています。どうやら必須のキーではないようです。自分の環境では以下の2箇所にありました。

HKEY_CURRENT_USER\Software\Mozilla\Cyberfox\TaskBarIDs
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Cyberfox\TaskBarIDs

この2つを削除したところ、ピン留めしたアイコンからCyberfoxが開くようになりました。


なおWaterfoxの場合はFirefoxのキーの中に登録されており、Waterfoxでこの現象が起きた時にはこれを削除しました。

しかし、このTaskBarIDsはどうもインストールを実行するとまた登録されてしまうようです。バージョンアップの度に削除しなければなりません。やはりTaskBarIDsに登録されたIDでタスクバーにピン留めしないことには根本的な解決になりません。

MSのコミュニティで解決法があるのを見つけました。

タスクバーにピン留めをすると同じアイコンが 2 つ表示される - マイクロソフト コミュニティ

ここで紹介されているwin7appidを試しました。このソフトを適当な場所に置き、コマンドプロンプトから以下のように実行しました。

win7appid1.1.exe [Cyberfoxのショートカットのフルパス] [TaskBarIDsに登録されたID]

実行結果:


これにより、ピン留めしたCyberfoxのアイコンはTaskBarIDsに登録されたIDになりました。


この問題は同じWindows 10環境で起きないこともあり、 何が理由なのかはわかりません。