C3Lab研究室

Back to Title Page(OpenLab)タイトルページへ戻る

最終更新日: 1998年 08月 17日 月曜日

ISAPI用DLLの設定&解除の仕方


 VisualCやVisualBasicなどでISAPIのDLL、EXEファイルを 作成した場合にASPから実行するときに前もってレジストリに登録しておく必要があります。 この登録を怠るとASPが実行エラーで正常に動作しません。ただ、デバッグ環境では登録 したDLLを登録解除したい場合もあるでしょうからここで簡単に説明しておきます。

Windowsへの登録について

 もっとも簡単な方法は、REGSVR32.EXEを使用することで、 コマンドラインなどから、登録するDLLを環境変数に指定して実行することで行えます。

Windowsへの登録&削除について

 またREGSVR32.EXEを使用せずレジストリを直接編集する 方法があります。この方法ではWindowsのシステムレジストリに対してWin32API を使用し以下の方法で登録を行います。

HKEY_CLASSES_ROOT/CLSID
 ここにGUIDを名前として登録します。登録内容は以下のようになります。

{5D8DB193-3601-11D2-9C6E-00609774BA6A} <- GUID :キーネームに、プログラムID名を指定
InProcServer32 キーネームにファイルの絶対アドレス&ファイル名を記述します
ProgID プログラムIDを指定

HKEY_LOCAL_MACHINE/Software/CLASSES/CLSID
 にはHKEY_CLASSES_ROOT/CLSIDのコピーが入ります。

REGEDITで見た場合以下のようになっています

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{5D8DB193-3601-11D2-9C6E-00609774BA6A}]
@="vcTest.Test"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{5D8DB193-3601-11D2-9C6E-00609774BA6A}\ProgID]
@="vcTest.Test"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{5D8DB193-3601-11D2-9C6E-00609774BA6A}\InProcServer32]
@="C:\\WEBSHARE\\SCRIPTS\\VCTEST.DLL"

 上記の例はWindows98で検査しました。WindwosNTではレジストリの登録が 若干異なることなるため、気をつけてください。安全に登録するにはRegSvr32ツールの使用が 適切でしょう。Windows98では標準でWindows/Systemディレクトリに存在します。

 この2か所に対して登録することで動作可能になります。また逆にRegEditなどで削除 することでDLLの使用を中止することができます。

Copyright (C) Kitaro 1998