■ DiskX Tools Ver.5.0 for Windows
このパッケージは、レジストリを掃除する「DX REG クリーナー」を含む、11種類のユーティリティからなる。
DX REG クリーナーでは、レジストリに対し、
・起動時のTips文、不要タイムゾーン情報の削除
・16ビットアプリケーションのチェックデータ整理
・起動時自動実行するファイルリストの整理
・無意味なファイル参照の整理
・OLE情報、関連付け情報の整理
・不要な仮想デバイスドライバ情報の整理(Ver.5.0の新機能)
・レジストリ再編成
を行える。情報整理画面が、Ver.4.0に比べて視覚的に見易くなっている。Ver.4.0では消してはいけない情報を明示していたのが、Ver.5.0では消して良い情報も明示するようになった。
各機能の説明は取扱説明書に委ねるとして、ここでは「レジストリ再編成」機能を取り上げる。操作は殆ど Ver.4.0と変わらない。再起動を促す画面の前に、現在のレジストリのバックアップをとるかどうかの確認が入るようになった。
再起動後、リアルモードでの再構成直前にもバックアップしているメッセージが出る。再構成の根幹作業のためのバックアップを秘かに取っているのだ。再構成が成功すればバックアップは自動的に消され、再構成が失敗したらバックアップからレジストリを戻した後、バックアップは削除される。
GUI で退避するバックアップは再構成の工程全体に対する保険、直前の段落で述べたバックアップは再構成作業そのものの保険と考えればよいかもしれない。
レジストリ再構成のアルゴリズムが Ver.5.0 になって変わったようである。
まず再構成の対象とするレジストリが、Ver.4.0 では System.dat のみだったのが Ver.5.0 では User.dat も含めるようになった。
再構成のステップが増えたようで、再起動直前にはいろいろな前処理が仕込んである事が分かる。
まずは次のファイルに変化がある。
・Windows フォルダ
・Dxrereg.reg
再構成のベースにするレジストリファイル。日本語キーやデータが「_DXREG_00000000_」の形式で16進数で連番を振られて置き換えられている。
・Dxrereg.rep
どこのレジストリキーを置き換えたか(元に戻さねばならないか)をまとめているファイル。
・Dxremap.str
「_DXREG_00000000_」形式で置換する前後の対照関係が収められているファイル。
・Dxrecmp.cmp
コントロールコードを含むレジストリキーを記録してあるファイル。リアルモードで生のコントロールコードを記述しているレジストリキーを取り込めないバグがあるからである(海外では結構問題になっている)。リアルモードでは処理できないので、再構成後の最初の Windows 起動時に取り込まれるようになっている。
・Dxrereg.cod
Regedit.exe や、DX REG クリーナの主役 Dxrereg.exe などへのパスが記されている。
・Autoexec.bat
冒頭に Smartdrv.exe と Dxrereg.exe の実行が追記される。元の Autoexec.bat は別名で保存されている。(これはVer.4.0と同じ)
・System.dat(HKEY_LOCAL_MACHINE)
HLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce に Dxrereg.exe へのパスが記される。上で説明した Dxrecmp.cmp を処理するためであろう。
再起動すると Autoexec.bat の記述に従い Dxrereg.exe が実行される。リアルモードの Regedit.exe を用いて「Regedit.exe /C xxx.reg」を行っていると思われ、ここで Dxrereg.reg を元にレジストリが作成される。この工程終了時点で、Dxrereg.reg と Dxrereg.cod が削除される。
続いて Windows が起動し、その途中で HLM\...\RunServicesOnce キーの記述により再び Dxrereg.exe が呼び出され、日本語キーおよびコントロールコードを含むキーの処理が行われ、レジストリ再構成が完了する。
Ver.5.0 は従来通り「REGEDIT /E → /C」の手法は維持したまま、如何にレジストリ情報を失わないようにするかを十分に研究した結果が反映されており、Ver.4.0 に比べて格段に練り込まれ優れたレジストリ再構成ツールとなっている。まさに「日本人による日本人のためのレジストリ再構成ツール」と言えよう。
1つだけ問題を挙げるとすれば、リアルモードで Regedit をするため、Regedit 自身の制約に引っかかり、場合によってはこのソフトでのレジストリ再構成を行えないこともあるということだろう。
参考までに、拙作 Registr!p で分析した結果を載せておく。