[リストへもどる]
一括表示

投稿時間:2003/01/28(Tue) 21:01
投稿者名:しらいし
Eメール:
URL :
タイトル:
VBのインストールされてないPCでのEXE起動
前のハンドルネーム忘れてしまいました。何度目かの投稿です。
VBのインストールされていないPCで、作成したEXEを起動すると、以下のようなエラーメッセージが
出てしまい、EXEが強制終了してしまいます。
 
 次のクラスは登録されていません。次のCLSIDのオブジェクトを参照してください。
  :{59245250-7A2F-11D0-9482-00A0C9111ED}

かなり初歩的な質問なのでしょうが、「クラス」とは、何なのでしょうか。
環境は、Win2000 VB6.0 SQLserver2000 です。
ちなみに、VBランタイムはインストールされています。
つまらない質問で、大変申し訳ありませんが、どなたかよろしくお願いします。

投稿時間:2003/01/28(Tue) 23:16
投稿者名:Say
Eメール:
URL :
タイトル:
Re: VBのインストールされてないPCでのEXE起動
> かなり初歩的な質問なのでしょうが、「クラス」とは、何なのでしょうか。

動作しない理由を知りたいのでなく、クラスとは何か知りたいのですね?

一言で言えば「オブジェクトの設計図」です。
構造的には、隠蔽された変数と、変数を操作する関数の集まりです。

Yahooあたりで「クラスとは」で検索すれば山のように説明が見つかります。

投稿時間:2003/01/28(Tue) 23:29
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^2: VBのインストールされてないPCでのEXE起動
ありがとうございます。さっそく調べてみます。動作しない理由も知りたかったのですが、頑張って
調べてみます。

投稿時間:2003/01/29(Wed) 17:33
投稿者名:なかむぅ
Eメール:
URL :
タイトル:
Re^3: VBのインストールされてないPCでのEXE起動
単純に、、、ディストリビューションウィザードで作成されたSetup.exeでインストールしていない、とかいうことはないですよね?^^;

VBのランタイムを組み込んでも、動かない場合ももちろんあります。
VBでプログラム作成時に他のコンポーネントを組み込んでいたりした場合や
MDAC違いですとか、、、

投稿時間:2003/01/29(Wed) 17:44
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^4: VBのインストールされてないPCでのEXE起動
> 単純に、、、ディストリビューションウィザードで作成されたSetup.exeでインストールしていない、とかいうことはないですよね?^^;
>
> VBのランタイムを組み込んでも、動かない場合ももちろんあります。
> VBでプログラム作成時に他のコンポーネントを組み込んでいたりした場合や
> MDAC違いですとか、、、

ありがとうございます。他のコンポーネントも使ってます。プログラム作成しているPCでは間違いなく
起動するので、とにかく何かが足りないんですよね。system32の中を調べればいいんですかね。頑張って探してみます。
ちなみに・・・
エラーメッセージにCLSIDが表示されていましたが、CLSID一覧みたいのって、入手できるんですかね。
頑張っていろいろ検索してみたんですが、私のエラー原因のCLSIDが見つからなくて。
スイマセン、、、とにかく初心者なもので・・・。

投稿時間:2003/01/29(Wed) 18:04
投稿者名:なかむぅ
Eメール:
URL :
タイトル:
Re^5: VBのインストールされてないPCでのEXE起動
> ありがとうございます。他のコンポーネントも使ってます。プログラム作成しているPCでは間違いなく
> 起動するので、とにかく何かが足りないんですよね。system32の中を調べればいいんですかね。頑張って探してみます。
> ちなみに・・・
> エラーメッセージにCLSIDが表示されていましたが、CLSID一覧みたいのって、入手できるんですかね。
> 頑張っていろいろ検索してみたんですが、私のエラー原因のCLSIDが見つからなくて。
> スイマセン、、、とにかく初心者なもので・・・。


CLSID一覧についてはよくわからないんですが、、、

ディストリビューションウィザード、ご存知ないですか?
そのプログラムを開発された環境で、以下の方法でディストリビューションウィザードを起動してSetup.exeを作成してください。
「プログラム」→「Microsoft Visual Studio 6.0」→「Microsoft Visual Studio 6.0ツール」→「ディストリビューションウィザード」

これでインストールすれば解決すると思うのですが。。。
もし、やっていなかったら試してみて下さい(^^

投稿時間:2003/01/29(Wed) 18:10
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^6: VBのインストールされてないPCでのEXE起動
早々のレスありがとうございます。早速試してみます。経過また報告します。ありがとうございました。

投稿時間:2003/01/30(Thu) 10:10
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^6: VBのインストールされてないPCでのEXE起動
ディストリビューションウィザード使ってみました。それがきっかけでいろいろなインストーラーソフトがあることを知りました。本当にありがとうございました。とりあえず、Visual Studio Installerを使ってみることにしました。まだうまくいきませんが、頑張って習得したいと思います。何かありましたらまたよろしくお願いします。

投稿時間:2003/01/30(Thu) 14:01
投稿者名:なかむぅ
Eメール:
URL :
タイトル:
Re^7: VBのインストールされてないPCでの..
> まだうまくいきませんが、頑張って習得したいと思います。何かありましたらまたよろしくお願いします。

ありゃ、、、
インストーラーでも解決できませんでしたか、、、
お役に立てず、すみませんでした(><

投稿時間:2003/01/31(Fri) 10:33
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^8: VBのインストールされて..
いえいえ、でもきっかけはつかめました。

投稿時間:2003/01/30(Thu) 06:56
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^5: VBのインストールされてないPCでのEXE起動
> エラーメッセージにCLSIDが表示されていましたが、CLSID一覧みたいのって、入手できるんですかね。

レジストリエディタで、以下を探して見ましょう。
HKEY_CLASSES_ROOT\CLSID

投稿時間:2003/01/30(Thu) 10:11
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^6: VBのインストールされてないPCでのEXE起動
> > エラーメッセージにCLSIDが表示されていましたが、CLSID一覧みたいのって、入手できるんですかね。
>
> レジストリエディタで、以下を探して見ましょう。
> HKEY_CLASSES_ROOT\CLSID

ありがとうございます。早速探してみましたが、私の知識では何をどうしてよいのか分かりませんで
した。残念ですが、他の解決方法を探ってみます。何かありましたらまたよろしくお願いします。

投稿時間:2003/01/30(Thu) 15:18
投稿者名:なかむぅ
Eメール:
URL :
タイトル:
Re^7: VBのインストールされてないPCでの..
> ありがとうございます。早速探してみましたが、私の知識では何をどうしてよいのか分かりませんで
> した。残念ですが、他の解決方法を探ってみます。何かありましたらまたよろしくお願いします。

再びなかむぅです。

しらいしさんの状況がいまいちつかめないのですが、、、
レジストリエディタの検索で
「59245250-7A2F-11D0-9482-00A0C9111ED」
これをキーにして検索されて、見つかったんですか?見つからなかったんですか?
見つかればどのファイルかわかると思うのですが、、、

詳細なレスお願い致します、そうすればきっといい答えが返ってくると思いますよ^^;
私はスキル的にもう手一杯ですが^^;;;;;

投稿時間:2003/01/31(Fri) 10:25
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^8: VBのインストールされて..
> これをキーにして検索されて、見つかったんですか?見つからなかったんですか?
> 見つかればどのファイルかわかると思うのですが、、、

みつからなかったです。0とO間違えてるのかも知れません。
頑張って原因探ります。

> 詳細なレスお願い致します、そうすればきっといい答えが返ってくると思いますよ^^;

ご丁寧にいろいろとありがとうございました。

> 私はスキル的にもう手一杯ですが^^;;;;;

そんなことありませんよ。本当に助かりましたから。

投稿時間:2003/01/31(Fri) 01:06
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^7: VBのインストールされてないPCでの..
スタートメニューから、ファイル名を指定して実行を選択。
regeditを入力して、レジストリエディタを実行する。

レジストリエディタでは、左側のツリーで以下を選択する。(CLSIDが違ってます(^^;)
マイコンピュータ
+HKEY_CLASSES_ROOT
 +CLSID
  +{59245250-7A2F-11D0-9482-00A0C91110ED}

すると、右側のリストビューに、(既定)のデータに以下が表示されます。これが
クラスの説明です。
BindingCollection Object

実際のDLLのファイル名は、ツリービューでその下の以下を選択し、その(既定)のデータです。
   +InprocServer32

VB.Netがインストールしてなければ、Windowsのシステムディレクトリのmsbind.dllになっている
かと思います。これが、登録されていないDLLです。

次に、Windowsのシステムディレクトリにmsbind.depのファイルをメモ帳で覗くと、msbind.dll
を登録するための情報がわかります。

MSBind.Dll、ComCat.dll、MSStdFmt.Dllのファイルが必要で、MSBind.Dll、ComCat.dllはレジストリに
登録する必要があります。

さらに、MSStdFmt.Dllについては、依存情報が書かれていないので、さらにMSSTDFMT.DEPを見ると、
MSStdFmt.Dllもレジストリに登録して、StdFtJP.dllが必要だということがわかります。

結局、MSBind.Dll、ComCat.dll、MSStdFmt.Dll、StdFtJP.dllのファイルが必要で、MSBind.Dll、
ComCat.dll、MSStdFmt.Dllは、レジストリに登録が必要です。

ちなみに、レジストリに登録するには、regsvr32を使用します。登録したいファイル名をパラメータに
指定して起動するだけです。(regsvr32とだけ指定して起動すると使用方法が見れます。)

なかんじで、手作業で登録することは可能だと思いますが、ディストリビューションウィザードを
使うと自動的にやってくれますので、ディストリビューションウィザードを使うことをお勧めします。
(別のインストーラでもいいですけど)

投稿時間:2003/01/31(Fri) 10:32
投稿者名:しらいし
Eメール:
URL :
タイトル:
Re^8: VBのインストールされて..
> なかんじで、手作業で登録することは可能だと思いますが、ディストリビューションウィザードを
> 使うと自動的にやってくれますので、ディストリビューションウィザードを使うことをお勧めします。
> (別のインストーラでもいいですけど)

なかんじの手作業は、私の腕ではつらそうです。何か良いインストーラーを探して、チャレンジします。
今考えてるのはVisual Studio Installerです。
今の私の腕だと、少々無駄があってもある程度自動に配布用EXEを作成してくれるものを使うのが
ベターだと実感しました。
いろいろとありがとうございました。