■ RegCon ver. 2.10〜
レジストリアクセス API の一つを応用した、レジストリ再構成ツールである。マルチユーザー環境でも使え、手軽に再構成でき、万が一の対策も講じてあることが特徴だ。
お約束だが、使われる方は自己責任の範囲において使って下さい。
さて、アーカイブをダウンロードしたら適当なフォルダに解凍し、エクスプローラからダブルクリックして実行する。
画面の説明にもあるように、RegCon 以外の全てのプログラムで終了できるものは全て終了させてから「OK」をクリックする。理由は2つある。
1つには、RegCon 実行後に自動で再起動が行われるので、例えば、終了時に編集中の文書を保存するか聞いてこないアプリケーションを使っている場合は、現在編集中の中身が失われるかもしれない。
もう1つには RegCon が実行された時のレジストリを元に再構成した新しいレジストリを作るため、RegCon で再構成したレジストリができて再起動するときに、システムから終了の通知をもらって自分を終了するアプリケーションの設定データは、再構成前のレジストリに記録されてしまうからだ。
『誤って RegCon を起動してしまった』『今は再構成不要だ』などという場合は、「キャンセル」をクリックすれば、何もせず RegCon は終了する。
「オプション」をクリックすると、再構成するに際しての処理を選択できる。しかしながら、毎回オプション画面を開いて項目を選択する必要はない。最も適切な項目は、自動的に選ばれているからだ。
各オプション項目の意味は次の通りである。
◆動作
今回の処理を規定する。
・再構成とバックアップ
レジストリのバックアップをとってから、再構成を行う。
・再構成のみ
バックアップしないでレジストリを再構成するが、万一のことを考えるとコレを選択することは推奨しない。
・バックアップのみ
RegCon を単なるレジストリバックアップツールとして使う場合に選択する。
◆再構成前
現在は未装備の機能なので、何も選択できない。
◆バックアップ
レジストリのバックアップをどのように作成するかを規定する。
・そのまま
これまで同様、現在のレジストリの単純なコピーをとって、退避ファイルとする。
・圧縮書庫
現在のレジストリを LZH 圧縮し、自己解凍書庫にしてバックアップをとる。system.dat で 10MB を越えることも珍しくなくなってきており、圧縮してバックアップすることでディスク領域を圧迫しないようにすることもできる。
RegCon を導入したフォルダまたは system フォルダに Unlha32.dll が存在すると此の項目が選択できる。より信頼性の高いバックアップファイルとするために、作成した自己解凍書庫の展開テストを同時に行う指定もできる(作成書庫検査のチェックボックスにチェックを入れる)。
RegCon が Unlha32.dll を使える環境に在れば、オプション画面中央に Unlha32.dll のバージョンを表示する。
当然ながら、書庫の圧縮およびテストにはマシンパワーに比例した時間を要するので注意が必要だ。
◆再構成対象
再構成したいレジストリを選択する。
多くの個人ユーザは「シングルユーザモード」で使っていることと思う。その場合は windows フォルダの system.dat と user.dat が自動的に選ばれている。
企業などでは Win9x を「マルチユーザモード」で運用し、個人別のデスクトップやアプリの環境を用意しているところもあるだろう。ログインユーザ別の設定情報の格納されているレジストリ user.dat は、windows\profiles\(ユーザ名) フォルダにある。
注意してもらいたいのは、マルチユーザモードで RegCon を使用するときには「個人別の設定」を使用する「現在ログオン」中のユーザーのレジストリのみが再構成の対象となることだ。複数の人間が使うコンピュータである以上、たまたまログオンした1ユーザが、windows フォルダにある共通のレジストリや、他人のユーザの user.dat まで再構成してしまうのは、あまりに勝手すぎるからだが、コンピュータの運用管理者がコンピュータ内の全レジストリをメンテナンスしたい場合も想定し、選択の自由度は残しておいた。選択状態を初期値に戻したいときには、一回 RegCon を終了すればよい。
マルチユーザモードで「個人別の設定」をしていないユーザは、シングルユーザモードと同じレジストリを使用しているので、system,dat と user.dat のみが選ばれた状態になる。
◆再構成後
レジストリ再構成後にどうするかを選択する。
・Windows 再起動
再構成したレジストリにすぐ置き換えたい場合に選ぶ。
・Windows シャットダウン
Windows の終了コマンド代わりに RegCon を用い、次回起動時に再構成されたレジストリに置き換える場合などは、これを選ぶ。
・RegCon のみ終了
再構成されたレジストリを作りっぱなしで RegCon を終了する。再起動するまで再構成されたレジストリには置き換えられない上に、RegCon 終了以後ほかのアプリケーションを実行してレジストリ置き換えの指示を記したファイルを書き換えてしまったりすると再構成の意味がないので、これを選ぶことは推奨しない。
オプション画面を「OK」をクリックして閉じ、RegCon 扉画面にて「OK」をクリックすると再構成が始まる。再構成中はアニメーションが表示される。
再構成が終了すると、再起動を促す画面が現れる。
「このボタンを押すと再起動します」のボタンをクリックすれば、自動的に Windows を終了し再起動する。コンピュータの環境によって再起動までに時間がかかることもある。再起動時、再構成されたレジストリに自動的に置き換わる。オプションで「再構成後、Windows シャットダウン」を選んでいれば、このボタンで Windows を終了する。
ここまで実行したけれど、気が変わって再構成したくなくなった場合は「やっぱり、やめる」をクリックする。再構成には成功しているため、できたばかりの再構成されたレジストリを削除するか尋ねてくるので、希望に応じて答える。ちなみに Windows フォルダと個人のプロファイルフォルダに SYSTEM.CLN、USER.CLN の名で存在している。削除を希望すれば RegCon が再構成後のレジストリだけを全て削除する。
「再構成されたレジストリができました」の文字をダブルクリックすると、再構成前後のレジストリサイズ比較表を表示できる。このまま再構成を完了するかどうかの判断材料にしてもらっても構わない。
オプションで「バックアップのみ」を実行すると、再構成は行わず、レジストリバックアップのみを行う。
バックアップはオプション画面で指定した方法に従う。
「そのまま」を選んでいれば、これまで通りレジストリを *.BEF の名で(Beforeの意味)元のレジストリと同じフォルダにコピーする。「圧縮書庫」を選択していれば、LZH圧縮したのち自己解凍書庫 *.EXE(DosSFX) に変換して、元のレジストリと同じフォルダにコピーする。どちらの場合もバックアップから復旧するためのバッチファイルを、windows\help フォルダに「RcRcover.bat」として自動生成する。
◆ 再構成し、再起動した後に、再構成前のレジストリを戻したい場合
RegCon は再構成を行う直前に、運用中のレジストリを退避し、復帰用のバッチファイルを作成する。
レジストリ復帰用のバッチファイルを実行するには、Win9x をコマンドプロンプトで起動し、「x:\Windows\Help\rcrcover.bat」をキーボードから入力して Enter を押す(RegCon ReCOVER.BAT)。なお、Windows フォルダは適宜自分の環境に置き換えて読んでほしい(バッチファイルに記されたファイルのパスは置き換える必要はない)。
バッチファイルを実行すると本当にレジストリを戻すのか聞いてくるので、中止するなら「ctrl + c」を、続行するなら Enter を押す。
レジストリを戻したら「win」と入力して Win9x を起動すればよい。
なおレジストリを戻しても、復旧元のレジストリは削除されない。このバッチファイルを使う状況というのは、たいてい緊急事態であるので、もしものために運用実績のある再構成前のレジストリは、ユーザーの判断で消してもらう方がよいと考えたからだ。
また此のバックアップ戻しの手順は、全てのバージョンで共通である。
◆ 注意点
● Windows 9x 以外での使用
レジストリの構造が異なるので、実行するのは危険である。そもそも Windows9x 以外のレジストリが、この方法でレジストリアクセスのレスポンスが上がるかどうかも分からないが。
RegCon は起動時に OS チェックをして、Windows9x でなければ使えなくしている。
● 再構成後のサイズ
通常はレジストリを再構成すれば、無駄な領域が追い出されてファイルサイズが小さくなるのだが、再構成の際のレジストリキーの組立てかたによっては再構成後の方がファイルサイズが大きくなることもある。但し、この場合でも内部はきちんと再構成されている。
サイズが増加する理由は(憶測の域を出ないが)レジストリ再構成に使うレジストリキーの順番によって、最終的に残るデッドギャップや空きレコードの数や大きさが変わってくるためではないだろうか。
● Windows95 の環境で Windows98 の scanreg を使っている場合
とりあえず動くので、レジストリの最適化のために使っておられる方も一部いらっしゃるようだが、RegCon で再構成した後のレジストリを scanreg.exe に通すと、何故かレジストリを破壊される。
Win95 で RegCon を実行後 scanreg.exe を実行したい場合は、一度 scanregW.exe を /autorun オプション付きで Win95 上から実施してからにしてほしい。なお此の記述は、scanreg あるいは scanregw の Win95 上での実行を指示・推奨・保証するものではない。
Windows 98 では起動時に毎回 scanregw.exe が実行されるので心配は無用だ。
● 幽霊キーがある場合
Windows 95 上で RegCon を実行する際、レジストリに幽霊キーを含んでいると RegCon が正常に終了しないことがある。場合によっては、VxD 内で例外が発生してブルーバックフリーズしてしまう。
対策としては、RegCon 実行前に Registr!p を実行して、「Ghost」キーの有無を確認する。幽霊キーが存在している状態で RegCon を実施しても問題ない場合もあるが、心配で有れば、あるいは RegCon が使えないようであれば、
もしくは
> Windows 98 マシンから scanreg.exe を借りてきて
1. コマンドプロンプトモードで再起動し、scanreg /fix を実行する
2. Windows 95 を起動して、RegCon を実行する
ことで対処して欲しい。
念のため書いておくが、Windows 95 での scanreg.exe の動作保証をしているわけでも、推奨・指示しているものでもない。ソフトウエアライセンスを考慮すれば、幽霊キーを含む system.dat および user.dat を windows98 が動作しているマシンに持っていって scanreg を実行する方が、上に記した方法よりも好ましい。
※ Unlha32.dll は Micco さん作の LZH 圧縮展開ライブラリです.