No.19 1999/12/11
やっかいなレジストリ

 Gabacho-Netと相互リンクさせていただいているウェブサイト「面白半分」の「うんちく講座」第248回で、佐々木先生が
「ウェブページ作成ソフトの新バージョンが満足できないものだったので旧バージョンに戻そうとしたが、新バージョンをアンインストールして旧バージョンをインストールしても、正常動作しなってしまった」
と書いておられます。私は、これはレジストリに起因する問題であろうと推測しています。
 レジストリとは、システムプログラムやアプリケーションプログラムのさまざまな登録情報を一括して取り扱うデータで、Windows 95以降およびWindows NTに導入された方式です。レジストリは、\Windows\System.datおよび\Windows\User.datというファイルに保管されています。
 ドライバソフトやアプリケーションソフトをインストールすると、プログラムファイルがディスクに書き込まれるとともに、登録情報がレジストリに書き込まれます(ただし、レジストリを使わないソフトもありますが)。したがって、いったんインストールしたソフトを捨てようと思ってプログラムファイルを削除しても、それだけではインストール前の状態には戻らないのです。アンインストーラを使っても、レジストリが完全には元に戻らないこともあります。複雑な相互関連ができてしまった登録情報を完全に掃除できないことがあるからだろうと思います。
 佐々木先生がお困りだった問題は、新バージョンをアンインストールしてもそのソフトの登録情報がレジストリに残り、後でインストールした旧バージョンの登録情報との不整合が起こったものだろうと思います。

 このような場合にレジストリを手動で修正するために、Windowsにはレジストリエディタ(\Windows\Regedit.exe)というプログラムが用意されています。しかし、初心者がレジストリをへたにいじるとシステムが正常動作しなくなってしまう危険が大きいので、レジストリエディタはスタートメニューで簡単に起動できるようにはなっていません。「ファイル名を指定して実行」メニューを選んで「regedit」と打ち込まなければ動かないようになっています。
 よほどWindowsの中身に詳しい人でない限り、レジストリエディタを使うことはお勧めできません。安全にレジストリを操作できるツールを使うことをお勧めします。
 私は、Quarterdeck社製のCleanSweepというソフトを使っています(私が買ったバージョン3.0の標準価格は9,800円)。これを使えば、存在しないファイルを参照している不正レジストリを検出して安全に削除することができます。アンインストーラで削除しきれなかったレジストリもこれで掃除できます。削除する時にバックアップをとってくれるので、削除後に万一不具合が起こったら、元に戻すこともできます。
 CleanSweepには、ほかにも、使われていないフォントファイルなどの不要なファイルを検出して削除する機能もあります。また、新たなソフトのインストールを監視し、ファイルやレジストリにどのような変化があったかを覚えておく機能もあるので、そのソフトが不要になった時、Windowsのアンインストーラよりも確実に元の状態に戻してくれます。

 さて、レジストリに起因する問題にはやっかいなものがあります。私が経験したトラブルをご紹介します。

●起動時に「ドライバファイルがない」と警告される
 職場のノートパソコンが、起動時に「ナントカ.vxdというファイルがない」というメッセージを何度か表示して、その都度EnterキーをたたかないとWindowsが立ち上がらないようになったことがあります。電源を入れた直後だと、画面が日本語モードになる前にそのメッセージが表示されるので、化け化け文字でわけがわかりませんでした。LANカードのドライバをインストールした時、何かの拍子にレジストリがおかしくなったようです。
 レジストリエディタで、「ナントカ.vxd」というファイル名でレジストリキーを検索し、そのキーを削除したら解決しました。このような問題は、CleanSweepのようなソフトを使えば簡単に解消できるはずです。

●けしからんLotus Notes…
 職場のWindows NTマシンにLotus Notesをインストールしたら、インターネットエクスプローラの画面上でメールアドレスへのリンクをクリックした時にNotesのメーラーが立ち上がるようになってしまいました。
 私は、このウェブサイトの「私のお気に入りソフト」のコーナーでご紹介している「Power Up Internet Explorer」というツールを使って、愛用のメーラーBecky!が起動されるように設定していました。インターネットエクスプローラの設定を確かめても、Becky!が選択された状態のままです。それなのにNotesのメーラーが動いてしまうのです。
 そこで、レジストリエディタで、Notesのメーラーを起動するコマンドを探し出し、そこを無理やりBecky!のコマンドに書き換えたら解決しました。
 存在しないファイルを参照しているレジストリではないので、このような問題はCleanSweepのレジストリ掃除機能ではお手上げです。レジストリの扱いに慣れていないと解決できません。勝手にこんなことをしてくれるアプリケーションソフトには困ったものです。

目次 ホーム