短期集中連載
10年を超える定番クリーナー「CCleaner」を10倍使いこなす 第6回
孤立したレジストリエントリをクリーニング その1
(2014/7/24 13:17)
本連載では、定番クリーニングソフト「CCleaner」の機能を紐解き、各項目が実行しているクリーニングの対象を詳細に解説していく。今回からは、レジストリのクリーニングを行う“レジストリ”セクションの項目を個別に解説していこう。
“クリーナー”セクションの[アプリケーション]タブ
“レジストリ”セクションの前に1つ触れておかなければならないのが、“クリーナー”セクションの[アプリケーション]タブである。こちらは、「Firefox」や「Google Chrome」といったメジャーアプリケーションや、Windowsの標準アプリケーションが生成する不要ファイルや履歴などがクリーニングの対象となる。項目名をご覧になるとわかるように、「Firefox」と「Google Chrome」のクリーニング内容はほぼ同一だ。
OSにインストール済みのアプリケーションを検出し、使用履歴や不要な一時ファイルを削除するのが主な機能。バージョンを重ねるごとに対応アプリケーションも増え、執筆時点で最新版となるv4.15では、「Google Chrome」の64bit版や「Nitro PDF Reader」をサポートした。
さらにサポートアプリケーションを増やすサードパーティ製のツール「CCEnhancer」をインストールすると、「Firefox」のアップデートログやアドオンが生成する一時ファイルなどをクリーニングターゲットに加えることも可能だ。本連載では詳細は割愛するが、より多くの不要ファイルや不要な情報をクリーニングしたいユーザーは試してほしい。
“レジストリ”セクション
さて、いよいよ“レジストリ”セクションについて解説しよう。こちらは存在しないアプリケーションに関連付けられたレジストリエントリ(以下、エントリ)や、存在しないファイルを参照しているエントリを検出し、クリーニングのターゲットとする項目が並んでいる。全般的に見れば有用な機能だが、エントリを削除するため細心の注意が必要だ。
筆者が経験した例では、某デバイスのソフトウェアが参照するエントリがクリーニングターゲットに含まれ、コンピューターを再起動すると同デバイスが正常に動作しなくなるというトラブルに見舞われたことがある(現在は改善済み)。
そのため“レジストリ”セクションのクリーニングは、実行時にエントリをファイルにバックアップする機能が用意されているので、必ず作成してほしい。バックアップファイルは、「レジストリ エディター」などから作成するレジストリファイルと同じため、ダブルクリックなどで削除したエントリを復元できる。
なお、バックアップ作成の有無を選択した後、クリーニング対象となるエントリを削除するか否か、1つずつ判断を求められるのが少々面倒だ。そもそもクリーニングするか否かはスキャン実行後にチェックボックスで取捨選択すればよい。その上で、[選択したすべてを解決]ボタンによる一括クリーニングをお勧めしたい。
見付けられない共有DLL
それでは各項目の解説に取りかかろう。最初の“見付けられない共有DLL”は、アプリケーション実行時に共有ライブラリを格納したダイナミックリンクライブラリ(DLL)の参照エントリを検出する。
具体的には“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs”キーで指定した各DWORD値を参照し、DLLファイルが存在するか判断しているようだ。64bit版Windowsの場合は、“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SharedDlls”キーも対象に含まれる。
Windows 8.1で精査したところ、OS新規インストール直後の状態で.NET Framework 1.0に関するエントリが検出される。現在の主流のバージョンは3.5および4.5のため、削除しても大きな問題にはならない。ただし、どうしても気になるという場合は除外リストへ登録すると次回スキャン時は検出されなくなるので、下図の操作をお勧めする。
関連づけられていない拡張子
“関連づけられていない拡張子”は、アンインストール済みアプリケーションが使っていた拡張子や、エクスプローラで操作した拡張子のエントリのクリーニングが主な目的。こちらは“HKEY_CLASSES_ROOT”キーや“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts”キーに並ぶ拡張子やファイルタイプのエントリをスキャンし、アプリケーションの“ProgID”が存在しないエントリや、サブキー“OpenWithList”が空のエントリが削除対象となる。開発中のアプリケーションで使用する拡張子など特定の事情がない限り、すべて削除して構わない。
次回予告
レジストリのクリーニングターゲットは多岐に渡るため、今回から数回にかけて解説する。興味をもたれた方はぜひご覧いただきたい。