2009-06-11 3 views
0

私の仕事のためにCOMコンポーネントを作成しました。私はコンポーネントも登録しています。デバッグエラー:VB32プロジェクトでCOMを使用中に<name.exe>に必要なランタイムが発生しましたか?

私のシステムには2つのVMワークステーションがあります。私の最初のワークステーションでは正常に動作します。私の2番目のワークステーションには、メッセージを含むエラーボックスが表示されます。このプログラムはrumtimeが必要で、異常な方法で終了します。アプリケーション管理者に連絡してください。これは、2回目の作業でdllを登録していないためだと思って登録しました。

COMコンポーネントを正常に登録しても、win2k8マシンで同じものをテストしようとすると、上記のerroeウィンドウが表示されますか?

誰でも分かりますか?

事前のおかげで...

+1

少なくとも、エラーメッセージの正確なテキストを引用する必要があります。 – sharptooth

+1

最初にタイプミスを修正していただけますか?この質問はほとんど読めません。 –

答えて

3

私の推測では、あなたのexeファイルが一つのシステム上ではなく、他に利用できるいくつかの他のDLLを、必要とすることです。システムでエラーが発生した場合は、エラーが表示されるまでProcess Monitorを実行してexeを監視してください。 exeファイルにdllがない場合は、そこに表示されます。あなたが使用できるもう一つのツールはDependency Walkerです。これは、exeを実行しなくても利用できないリンクされたdllを指し示すことができます。

dllが実際に存在しない場合、一般的な理由は、VC再配布可能パッケージと64ビットシステム上のSysWOW64-System32ミックスアップをインストールすることではありません。

+0

w2k8は64ビットマシンで、exeを作成したものはwinn2k3 32ビットマシンです.....そのデバッグエラーのために共振しますか? – Cute

+0

そうかもしれません。 64ビットの実行可能ファイルの場合、システムディレクトリはSystem32です。 32ビットの実行可能ファイルの場合、システムディレクトリはSysWOW64です。 System32は、32ビットの実行可能ファイルの検索パス(%PATH%)には存在しません。これは、他の必要なdllが間違ったシステムディレクトリにある場合、それらが利用できなくなることを意味します。これは、filemonまたはdependency walkerを使って簡単に発見できます。 – eran

+0

s/FileMon /プロセスモニタ/ – Richard

関連する問題