2010-11-22 21 views
5

VB6で書かれた古い管理ツールにいくつかの機能を追加しています。ツールは、C++のactiveXオブジェクトを使用します。 Windows 7にアップグレードしてアクティブなXオブジェクトを429の「ActiveXコンポーネントでオブジェクトを作成できません」というエラーが表示されてから、このツールで作業していません。私はVB6について知識がありませんが、私はactivex dllとタイプライブラリを登録しました。プロジェクトからオブジェクトを削除して、プロジェクトから参照ウィンドウに追加することができます(参照が期待通りに削除されるとコンパイルできません)。 VB6 ideは管理者モードで動作しており、exeを管理者として直接実行すると同じエラーが発生します。Windows 7でVB6からのactivex dllを実行する

誰もが同様の問題を経験しており、それを整理する方法を見つけましたか?

おかげで、 パトリック

PS:私はこれを整理しようとしている運がなかったし、終わっている:私はまた、exeファイル

EDITの作業ディレクトリに問題のDLLを入れて試してみました変更をテストするためにWindows 2003サーバーにリモーティングします。

+0

[[DCOMアプリケーションでランタイムエラー '429'のトラブルシューティングを行う方法](http://support.microsoft.com/kb/177394) – lsalamon

+0

これは、同じマシン上に分散されていません。 – Patrick

答えて

-1

そのマシンでUACを有効にしていますか? disabling itを試しましたか? ActiveXコントロールが登録されているが、それらを使用しているアプリケーションが実行できないようなケースがいくつか見られました。

+0

それは会社のポリシーに反して行うことはできません... – Patrick

0

COMは、レジストリを使用して、クラス名からロードする必要のある物理DLLファイルにマップします。

COMオブジェクトに関連するレジストリキーを確認してください。最初にHKEY_CLASSES_ROOTの下にあるクラス名をクリックし、CLSID、次にオブジェクトのGUIDのHKEY_CLASSES_ROOT/CLSIDセクションを取得し、物理図書館の生活

0

429は、あらゆる種類の異なるものを意味する可能性があります。多くの場合、それは依存関係がなくなっていることを意味し、どの依存関係が欠落しているのかを簡単に調べる方法は、procmonを使ってアプリケーションがアクセスしようとしているファイル/レジストリ設定を調べ、ACCESS_DENIEDまたはFILE_NOT_FOUNDあなたは何を持っていますか?

2

Mark RussinovichのregMonとFileMonを使用して、そのDLLのロード中に要求されているファイルまたはregkeysを正確に調べることができます。依存関係がない場合、それはしばしばあなたに伝えることができます。

また、VS6に付属しているDEPENDS.EXEは、(DLLやEXEのすべての依存関係を必ずしも取得するわけではありませんが)時にはそれに適しています。

+0

RegMon/FileMonの参照は私のために日を救った!これらの2つのアプリケーションは、どちらもProcessMonitorに組み込まれています。[http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx] [1]「Object Library Not Found」エラーの原因を確認できました。 ProcessMonitorが私に明らかにしたレジストリ設定を検索する。私は.csvでログファイルを保存し、メモ帳で開いて検索することができました。ヒントをありがとう! –

0

ご使用のブラウザにも問題がある可能性があります。数週間前、私はIEをアップグレードしました。それ以来、IEを開き、ツールをクリックし、カスタムをクリックし、アクティブXコントロールにスクロールして有効にしたり、プロンプトをクリックしたりして変更を加えなければなりませんでした。スクリプティングやXMLHttprequestの使用にも同じことが必要でした。今ではすべてが正常に戻りますが、ActiveX警告警告がポップアップするまでに2分以上かかることがあります。クリックするとすべて正常に動作します。

関連する問題