- PR -

タイプライブラリの登録について

1
投稿者投稿内容
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2005-07-27 18:49
こんにちは、

VB6.0 で作成したアプリのインストーラーを作成しています。

アプリで使用しているActiveX DLL、または ActiveX EXE のタイプライブラリ
(拡張子 .TLB)をレジストリに登録する方法が解らなくて困っています。

御存知の方がいらっしゃいましたら教えて下さい。
よろしくお願いいたします。

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-27 21:27
rgorlさん、こんばんは。

引用:

VB6.0 で作成したアプリのインストーラーを作成しています。


どうやって作成してます?
ディストリビューションウィザード(だったかな)?
それとも VisualStudio Installer プロジェクト(だったかな)?

引用:

アプリで使用しているActiveX DLL、または ActiveX EXE のタイプライブラリ
(拡張子 .TLB)をレジストリに登録する方法が解らなくて困っています。


上記いずれかの方法であれば、普通はセットアップ対象に含めれば登録されたような気がしますが…。

それ以外だと、regsvr32.exe とかでしょうか。
もしくは、VB6STKIT.DLL(or VB5STKIT.DLL or VB4STKIT.DLL)の DLLSelfRegister 関数を呼ぶ↓とか。

コード:

Declare Function DLLSelfRegister Lib "vb6stkit.dll" (ByVal lpDllName As String) As Integer



【追記】
しまった。タイプライブラリの登録はregsvr32じゃできなかったみたい。
#記憶違いだったか…。orz
とすると、 vb6stkit.dll の方もNGかも。

[ メッセージ編集済み 編集者: きくちゃん 編集日時 2005-07-27 21:51 ]
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2005-07-28 15:25
きくちゃんさん、
> どうやって作成してます?
> ディストリビューションウィザード(だったかな)?
> それとも VisualStudio Installer プロジェクト(だったかな)?

自分で作って(コーディングして)います。。
「ディストリビューションウィザード」だとダイアログボックス等が表示されてしまい、これがじゃまなので、バックグラウンドで自動的にインストールできるようなものを作成しています。

> それ以外だと、regsvr32.exe とかでしょうか。
> もしくは、VB6STKIT.DLL(or VB5STKIT.DLL or VB4STKIT.DLL)の DLLSelfRegister 関数 > を呼ぶ↓とか。

「DLLファイル」や「OCXファイル」は、regsvr32.exe で、
「ActiveX ファイル」は自己登録で、
登録できたのですが「TLBファイル」だけは登録の仕方が解らなくて困っているのです...
それとも、「TLBファイル」は登録の必要がないのでしょうか?



きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-28 15:37
rgorlさん、こんにちは。

ここ↓に、VB5 か VB6 がインストールされた環境には TLBINF32.DLL というのがあるから、それを使え(参照設定で「TypeLib Information」を参照する)、というような事が書いてあるような気がします
http://www.devx.com/vb2themax/Tip/18443
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2005-07-28 16:10
きくちゃんさん、ありがとうございます。

早速「TLBINF32.DLL」調べてみましたが、
どうやら手続きが必要みたいで、使用方法が解りませんでした。
某サイトにこんな書込が有りました。

1、"TypeLib Information (TLBINF32.dll)"を参照した上で、
2、TypeLibInfoFromFile関数(本当はメソッド)でTypeLibInfoを取得
3、TypeLibInfo.Registerメソッドで登録、
  TypeLibInfo.Unregisterメソッドで登録解除

これってどういう風に使うのでしょうか?

もし御存知でしたら教えていただけますか?
勉強不足ですみません、お願いいたします。

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-07-28 17:08
rgorlさん、こんにちは。

引用:

1、"TypeLib Information (TLBINF32.dll)"を参照した上で、
2、TypeLibInfoFromFile関数(本当はメソッド)でTypeLibInfoを取得
3、TypeLibInfo.Registerメソッドで登録、
  TypeLibInfo.Unregisterメソッドで登録解除

これってどういう風に使うのでしょうか?

もし御存知でしたら教えていただけますか?


残念ながら存じ上げません。
が、取り敢えず、書いてある手順通りにやってみては如何でしょうか?
前回の私の投稿にあるリンク先にも、サンプルがありましたよ。
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2005-07-28 18:18
きくちゃんさん

> 前回の私の投稿にあるリンク先にも、サンプルがありましたよ。

リンク先のサンプルでいけました!

ありがとうございました。
今後ともよろしくお願いいたします。


[ メッセージ編集済み 編集者: rgorl 編集日時 2005-07-28 18:19 ]
1

スキルアップ/キャリアアップ(JOB@IT)