インストーラによるインストールとアンインストール

SeraphyScriptDialog Ver2.0/2.1はセットアッププログラムによってセットアップを行うことができます。

この場合、以下の処理が自動的に行われます。

  • DLLはシステム標準の共通プログラムフォルダ(たとえば、C:\Program Files\Common Files\SeraphyScriptDialog\2.1)に暗黙でインストールされます。
  • ヘルプ、サンプル等のインストールを選択した場合も上記フォルダに格納されます。(64ビット版の場合は64ビット版側のみ保存されます。)
  • ヘルプまたはサンプルをインストールした場合にはスタートメニューにもショートカットが追加されます。
  • 64ビット版OSでは、64ビット版コンポーネントと32ビット版コンポーネントの両方が暗黙でインストールされます。
  • 旧Version1.0のSeraphyScriptDialogがインストール済みの場合は、"SeraphyScriptDialog.1"というProgIDで旧版が利用できるようにレジストリが補正されます。(アンインストールはしません。)
  • 新しいバージョンをインストールしても古いバージョンは自動的には削除されません。
  • コントロールパネルのプログラムから、アンインストールを行えるように設定されます。

基本的には、インストーラによるセットアップがお勧めです。

しかし、任意のフォルダに組み込みたい、などの場合には、以下に説明する手動によるインストールとアンインストールも可能です。

手動によるインストールとアンインストール

SeraphyScriptDialogのインストール方法

SeraphyScriptDialogはセルフレジストラになっていますので、任意のフォルダにdllをコピーしたあと、regsvr32ツールを使って登録できます。

ただし、インストール方法はX86/X64版で若干異なりますので、使用環境、使用方法に応じて以下を参考にレジストリに登録してください。

もしくは技術情報を参考にして自分でレジストリに登録してもかまいません。

regsvr32の実行には管理者権限が必要です。Vista以降の場合、コマンドプロンプトからregsvr32を実行する場合にはコマンドプロンプトを管理者権限で開いてください。

  • 32ビット版OSの場合(Windows2000/XP/2003/Vista/2008/Windows7)
    • 過去バージョン(Version1.1)が存在する場合について
      1. SeraphyScriptDialog.dllの登録に先立ち、まず、古いバージョン(SCRDLG.dll)をレジストリより登録解除してください。
      2. regsvr32.exe /u SCRDLG.DLL でレジストリから解除できます。(パスは配置した場所を適宜に指定してください。)
      3. 解除後、SCRDLG.DLLは任意でゴミ箱に入れてください。
    • Ver2.1のレジストリへの登録方法
      1. regsvr32.exe SeraphyScriptDialog.dll としてレジストリに登録してください。(パスは配置した場所を適宜に指定してください。)
      2. これによりレジストリにCOMオブジェクトが登録され、スクリプト上から使えるようになります。
      3. 登録される内容については技術情報を参照してください。
  • 64ビット版OSの場合(WindowsXP/2003/Vista/2008/Windows7)
    • これらの64ビット版OSには、Wow64により、32ビット環境と64ビット環境の2つのモードがあります。
    • 通常、VBScript/JScriptをホストするWSHは64ビット版になっており、64ビット版WSHから作成できるオブジェクトは64ビット版DLLでなければなりません。
    • もし、64ビット版WSHからSeraphyScriptDialogを使用する場合は、64ビット版のSeraphyScriptDialogX64.dllを登録してください。
    • もし、従来の32ビット版のWSHからSeraphyScriptDialogを使用する場合は、32ビット版のSeraphyScriptDialog.dllを登録してください。
    • 過去バージョン(Version1.1)が存在する場合について
      1. SeraphyScriptDialog.dll/SeraphyScriptDialogX64.dllの登録に先立ち、まず、古いバージョン(SCRDLG.dll)をレジストリより登録解除してください。
      2. C:\Windows\SysWow64\regsvr32.exe /u SCRDLG.DLL (Windows7の例。パスは配置した場所を適宜に指定してください。)
      3. 解除後、SCRDLG.DLLは任意でゴミ箱に入れてください。
    • x64版(64ビット版)のレジストリへの登録方法
      1. regsvr32.exe SeraphyScriptDialogX64.dll で登録できます。(パスは配置した場所を適宜に指定してください。)
        (Wow64上で動作する32ビット版のregsvr32.exeではないことに注意してください。)
      2. これによりレジストリにCOMオブジェクトが登録され、64ビット版のWSHからのスクリプト上で利用可能となります。
      3. 登録される内容については技術情報を参照してください。
    • x86版(32ビット版)のレジストリへの登録方法
      1. C:\Windows\SysWow64\regsvr32.exe SeraphyScriptDialog.dll で登録できます。(パスは配置した場所を適宜に指定してください。)
        (Wow64上で動作する32ビット版のregsvr32.exeであることに注意してください。)
      2. これによりレジストリにCOMオブジェクトが登録され、32ビット版のWSHからのスクリプト上で利用可能となります。
      3. 登録される内容については技術情報を参照してください。
    • x64とx86の両方のみ登録について
      • 64ビット環境では、SeraphyScriptDialog.dll/SeraphyScriptDialogX64.dllの双方を登録しても問題ありません。
      • レジストリ上に登録されるProgID、CLSID、LIBID等は64/32版ともに全く同じですが、 Wow64ではレジストリのリダイレクトが行われるため、実際に使用されるDLLは起動しているWSHが32/64ビット版であるかによって自動的に切り替えられることになります。
  • version1.1(SCRDLG.DLL)との共存について(参考までに)
    • SCRDLG.DLLは既定のProgIDしかもっておらず、バージョン付きProgIDをもっていないため、そのままでは共存できません。
    • しかし、SeraphyScriptDialog.dll/SeraphyScriptDialogX64.dllではバージョンつきProgIDとして「SeraphyScriptDialog.2」というシグネチャをもっているため、 SeraphyScriptDialog.dll/SeraphyScriptDialogX64.dllをレジストリに登録後、SCRDLG.DLLを手動でレジストリに登録し、「SeraphyScriptDialog.1」のProgIDとすることで、 たとえば「CreateObject("SeraphyScriptDialog.1")」のようにしてバージョンつきで使用するようにできます。
    • これらのレジストリへの登録は技術情報を参考に「必ず手動で」行ってください。
    • regsvr32ツールで登録しますと、レジストリの現在の登録が上書きされてしまうためSeraphyScriptDialogが動作しなくなります。
    • なお、SCRDLG.DLLは32ビット且つMBCS版(非UNICODE)ですので、64ビット環境で動作させるにはWow64上のWSHを使用する必要があります。

SeraphyScriptDialogのアンインストール方法

SeraphyScriptDialog.dll/SeraphyScriptDialogX64.dllをregsvr32ツールで登録した場合、regsvr32のオプション/u を指定することで登録解除できます。

レジストリへの登録を手動で行っている場合は、手動で削除してください。

レジストリから解除したあとは、dllは削除してかまいません。

技術情報

カスタマイズやインストール後のトラブルを解析するために必要となるかもしれない、いくつかの技術情報について記述します。

※以下はVersion2.0pre/2.0の説明となっています。2.1ではCLSID, PROGID等が変更されています。

SeraphyScriptDialog.2.reg(Windows7での一例です。)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog]
@="SeraphyScriptDialog Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog\CLSID]
@="{4019FCE4-1A3B-4BFF-BF84-C036195842EF}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog\CurVer]
@="SeraphyScriptDialog.2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog.2]
@="SeraphyScriptDialog Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog.2\CLSID]
@="{4019FCE4-1A3B-4BFF-BF84-C036195842EF}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}]
@="SeraphyScriptDialog Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\InprocServer32]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\x64\\Debug\\SeraphyScriptDialogX64.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\ProgID]
@="SeraphyScriptDialog.2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\Programmable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\TypeLib]
@="{8C5ED098-A33E-4B09-8E44-638CCF6307A8}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\Version]
@="2.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\VersionIndependentProgID]
@="SeraphyScriptDialog"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0]
@="SeraphyScriptDialog 2.0 タイプ ライブラリ"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\0\win64]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\x64\\Debug\\SeraphyScriptDialogX64.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\FLAGS]
@="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\HELPDIR]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\x64\\Debug"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\SeraphyScriptDialog.DLL]
"AppID"="{C781EBBC-836D-4DB3-B100-16A2BEE5F503}"
        

SeraphyScriptDialog.2.wow64.reg(Windows7での一例です。)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\AppID\SeraphyScriptDialog.DLL]
"AppID"="{C781EBBC-836D-4DB3-B100-16A2BEE5F503}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}]
@="SeraphyScriptDialog Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\InprocServer32]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\Win32\\Debug\\SeraphyScriptDialog.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\ProgID]
@="SeraphyScriptDialog.2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\Programmable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\TypeLib]
@="{8C5ED098-A33E-4B09-8E44-638CCF6307A8}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\Version]
@="2.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{4019FCE4-1A3B-4BFF-BF84-C036195842EF}\VersionIndependentProgID]
@="SeraphyScriptDialog"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0]
@="SeraphyScriptDialog 2.0 タイプ ライブラリ"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\0\win32]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\Win32\\Debug\\SeraphyScriptDialog.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\0\win64]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\x64\\Debug\\SeraphyScriptDialogX64.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\FLAGS]
@="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{8C5ED098-A33E-4B09-8E44-638CCF6307A8}\2.0\HELPDIR]
@="D:\\Media\\MyDocuments\\Visual Studio 2008\\Projects\\SeraphyScriptDialog\\SeraphyScriptDialog\\x64\\Debug"
        

SeraphyScriptDialog.1.wow64.reg(ver1.1との共存、Windows7での一例です。)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog.1]
@="SeraphyScriptDialog Class"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SeraphyScriptDialog.1\CLSID]
@="{86893BFE-A779-4685-8FC9-D63C8827C4C9}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{86893BFE-A779-4685-8FC9-D63C8827C4C9}]
@="SeraphyScriptDialog"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{86893BFE-A779-4685-8FC9-D63C8827C4C9}\InProcServer32]
@="D:\\Media\\MYDOCU~1\\VISUAL~2\\Projects\\SCRDLG\\RELEASED\\scrdlg.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{86893BFE-A779-4685-8FC9-D63C8827C4C9}\ProgID]
@="SeraphyScriptDialog.1"