最近あった問い合わせに「グループウェアのアイコンが消えて変な絵に変わった!乗っ取られた!」という騒ぎがありました。
うちのグループウェアはクラウド利用なので、デスクトップのアイコンはインターネットショートカットです。どうやらグループウェアからPDFを表示させるときに使われているインターフェイスサービスのロゴマーク(ファビコン)に置き換わってしまったようです。普段は見かけることのないアイコンだからこっちに切り替わって「ファ!?」ってなった模様。
インターネット接続が一時的に切れたりすることがトリガーとなって、サイトのファビコンが表示されていたはずなのに地球儀の表示になってしまった、という事例もよくあります。
決して乗っ取り事件ではありませんのでご安心ください。
実際のところはアイコンの見た目が変わっても問題なく繋がります。けど、見た目が悪い。
特にPCに苦手意識がある方は不安に覚えるでしょう。「マニュアルに載ってるアイコンが無くて仕事が進めないんですけど!?」と怒られたこともあります。
で、更に都合が悪いのが再起動してもショートカットを作り直しても直らないんです。コレ。
この現象を直すには「アイコンキャッシュの再構築」ということが必要になります。
アイコンキャッシュとは?
Windowsがデスクトップやエクスプローラにアイコンを素早く表示できるように1つのファイルにまとめたファイルで以下の場所にあります。
※アプリやファイルのアイコンキャッシュ
C:\Users\[ユーザー名]\AppData\Local\IconCache.db
※インターネットショートカットのアイコンキャッシュ
C:\Users\[ユーザー名]\AppData\Local\Microsoft\Windows\INetCache
手元にアイコン集を置いておくことで、都度都度ネットからダウンロードしなくてもよくなりパフォーマンスが上がる、といったところです。
上層の"AppData"フォルダは隠しフォルダなので通常では見えません。
インターネットショートカットの一時ファイルを削除する
1:一時ファイル全てを削除する
今回表示が変になったアイコンはクラウド利用のシステムなので、インターネットショートカットを叩かせています。
インターネット一時ファイルを消してしまえばファビコン含めフォームなどを再構築することができます。壊れたファビコンが複数あるならこちらが早いと思います。消しても大きな影響はありませんので、溜まりすぎた一時ファイルをリフレッシュするためにも気づいたときに消してあげればスッキリすると思います。
インターネット オプションの「全般」タブから「削除」を選択し、画像の通りのチェックにして「削除」クリックします。
ポイントは「お気に入りWebサイトデータを保持する(R)」のチェックを外すことと、「インターネット一時ファイル(T)」にチェックを入れること。
消してすぐは復活しません。InternetExploreを立ち上げていたら一度終了して、再度問題のアイコンをダブルクリックしてサイトに接続すると空っぽの一時ファイルに新しいファビコンを書き込むので表示が更新されます。
2:問題のあるファビコンを直接消す
インターネットショートカットのアイコンキャッシュを保存しているフォルダから拡張子".ico"の目的のファイルを探して削除すれば、再度サイトに接続したときに再取得します。IEを再立ち上げてHPをするとファビコンが更新されます。
%userprofile%\AppData\Local\Microsoft\Windows\INetCache
フォルダの場所を変更したけどが分からないと言った場合は以下の手順でキャッシュ用のフォルダを開くことができます。
- インターネットオプション→
- 全般タブの「閲覧の履歴」項目→
- 「設定」ボタン→
- 「インターネット一時ファイル」タブの「ファイルの表示」ボタン
壊れたファビコンをピンポイントで再構築させる場合などはこちらが良いでしょう。
こちらのやり方でも、消してすぐは復活しません。InternetExploreを立ち上げていたら一度終了して、再度問題のアイコンをダブルクリックしてサイトに接続すると空っぽの一時ファイルに新しいファビコンを書き込むので表示が更新されます。
アプリ、ファイルのアイコンキャッシュの再構築方法
アプリや各種ファイルのアイコンが壊れた場合は保存場所と再構築方法が違います。
「アプリのアイコンが全く関係ないアイコンに変わってしまった」とか「アプリアイコンが真っ白になった」といった場合に試す方法になります。「Excelファイルのアイコンが真っ白になった」とか「PDFファイルのアイコンが別のアイコンに切り替わった」という場合は、これを試す前に「拡張子が変わっていないか」と「既定のアプリが切り替わってないか」を確認してみてください。
IEのユーティリティを使って再構築する
プログラム1発でピッっと直す方法があります。
ie4uinit.exe -ClearIconCache
ie4uinit.exe -show
Windowsキー+Rキーの「ファイル名を指定して実行」で1行ずつ起動、という方法が良く紹介されていますがコマンドプロンプトに貼り付けて実行もできます。
Windows10なら2行目だけでも改善されるみたいですが、成功しないという例もあるようで、念のため2段構えの記述としています。
"ie4uinit.exe"とは?
ってのが分からないとなかなか恐くて使いづらいですよね。実態について調べてみました。
どのサイトを見てみても「このプログラムは信頼できるソフトで2%危険です」とかなかなか不自由な日本語の情報が多く難儀しましたが、こちらのサイトで何となくどんなものかは掴めました。
"Internet Explorer (for) Each User Initialization"を略してie4uinitのようです。
保存されているパスは"C:\Windows\System32"になります。
IE用の同一ユーザー初期化ツール、といった意味合いですかね。IEのユーザーごとの初期化ユーティリティと表現しているサイトもありました。
IEを構成するプログラム群のうちの一つのようで、IEが入っていれば標準装備のようです。ってIE自体がWindows標準装備ですが。デスクトップ上の表示や操作を司る「エクスプローラー」とIEは別物なんですが、これで修復できます。まぁ昔から当たり前のようにWindowsにはIEが入っているので、この辺りのプロセスを相乗りしててもおかしくはないのでしょう。
ともあれ、Windowsに元から入っているプログラムを利用する訳なので、危険性は2%しかないのでしょう。0%と言わないあたりが「99.9%除菌」と同じロジックを感じます。
アイコンキャッシュファイルを削除する
手順は踏みますが、こっちが確実かもしれません。
キャッシュファイルが無くなれば、また自動的に作成されるのでこれでキャッシュがリセットされる、というイメージですね。
- ①IconCache.dbが保存されているフォルダを開く
- エクスプローラーのアドレスバーに[%userprofile%\AppData\Local]と入力すればファイルの場所まで一発で飛べます。
[%userprofile%]は現在使用している人のアカウントのフォルダを表す環境変数というもので、Windowsの方で自動的に現在のユーザーに置き換えてくれます。
- ②隠しファイルを表示する
- 上部リボンの「表示」にある「隠しファイル」にチェックを入れると"IconCache.db"というファイルが表示されます
- ③"IconCache.db"を削除する
- 普通にDelキーなり右クリック→「削除」なりで消します。
こちらのサイト様を参考にさせていただきました。こちらでは全ユーザー分の再構築方法など、かなり詳しく解説されています。
って、ここまで解説しておきながら、消すだけだったらこの1行で解決するんじゃね?ってこの記事を書きながらふと思い、バッチファイルを書いてみました。
del /q %userprofile%\AppData\Local\IconCache*.db
もしかするとIconCache[なんとか].dbのようなファイルができている可能性もあるのでワイルドカードを保険で使いました。/qオプションで確認無しで削除するようにしています。
アイコンのトラブルは再起動ではなく「アイコンキャッシュの再構築」です。サクッと対処しましょう。