(VB6+XP) 色々お世話になります。 また教えてください。
以前よりVB6で作ったアプリのインストーラーにはVB6付録のディストリビューションウイザードを使っていましたがデスクトップ上にアイコン/ショートカットをやってくれるものにしようと何か適当なインストーラーを探しています。そこで本サイトで紹介されたVBに適したインストーラーの比較表
http://dobon.net/vb/installer/installer3.html
を参考に見ています。
この中で「OCXをレジストリに登録」という機能がないものがあります。以前より「OCXは登録しなければならない」という条件を信じていましたが他の記事では「OCXは置いておくだけで自動登録される」というものもみかけます。
上記URLの「VBに適したインストーラー」としてリストアップされたものの中にも登録機能がないものもありますが何か心配です。本当に登録しなくても大丈夫かどうか教えてください。経験談などでも結構です。
私も詳しいほうではありません、間違っているかもしれません。経験談として書きます。
自作のOCXの場合レジストリーに登録しないようにしています。
(ユーザの中には嫌がる方もいるため)
プログラム本体と同じフォルダーにOCXを入れておけば
レジストリーに登録しなくても使用は可能ですからね。
また>>「OCXは置いておくだけで自動登録される」仁ついては
OCXをSYSTEM32フォルダーに入れても自動的に登録はされないのではないでしょうか。
レジストリーに登録すると良い事は?
登録時は依存関係を調べるので、足りないファイルがあれば注意されるところでしょうか・・
場合によってはバッチファイルを作成して
WIN2000の場合、次のようなインストールファイルを添付しています。
SETUP.BAT
@echo off
if "%comspec%"=="" goto unknown
if "%comspec%"=="c:\command.com" goto Win9x
if "%comspec%"=="%systemroot%\system32\cmd.exe" goto WinNT
:unknown
echo OSの種類が分かりません
goto end
:Win9x
echo MS-DOS、ないしWindows 9x系です。正常に動かない場合があるのでインストールを行いません
goto end
:WinNT
copy /y *****.ocx "%systemroot%\system32\*****.ocx"
regsvr32 "%systemroot%\system32\*****.ocx"
goto end
:end
以上 参考になれば幸いです。
アンセットアップも参考に
@echo off
if "%comspec%"=="" goto unknown
if "%comspec%"=="c:\command.com" goto Win9x
if "%comspec%"=="%systemroot%\system32\cmd.exe" goto WinNT
:unknown
echo OSの種類が分かりません
goto end
:Win9x
echo MS-DOS、ないしWindows 9x系です。正常に動かない場合があるのでインストールを行いません
goto end
:WinNT
regsvr32 /u "%systemroot%\system32\****.ocx"
del /P /F "%systemroot%\system32\****.ocx"
goto end
:end
梅さま、大変参考になる回答をありがとうございました。簡単なコマンドで登録、削除ができることがわかりました。 今までは簡単なプログラムでもOCXなどが伴うとインストーラーに頼っていましたが、逆にこれだけシンプルなものでVBに必要なランタイムなどが登録できるのであれば大掛かりなインストーラーなしで簡単に済ませることもできそうなのでテストしていきたいと思います。手近にあるPCが全てVBに汚染されていますのでテストには時間が掛かりますがやってみます。非常に参考になるアドバイスをありがとうございました。
ツイート | ![]() |