2010-12-08 8 views
0

ネットワークフォルダにあるreg asmにCOMサーバーが正しく登録されていません。オブジェクトを作成しようとすると、エラー "オートメーションエラー"が表示されます。 dllがローカルディスクにある場合、すべてが正しく動作します。私はインストールできますか? NET COMライブラリは、ネットワーク共有フォルダにありますか?

追加情報:。で書かれ

  • COMライブラリマクロVB

  • ライブラリをCOMにネット3.5

  • のアクセスは、厳密な名前を持つ

答えて

1

COMサーバーをネットワーク共有に配置すると、問題が発生することがあります。マップされたドライブ文字がマップされていないか、別の場所にマップされていないと、ランダムに失敗します。少なくともUNCのサーバーへのパス(例えば\\machine\folder\etc)が必要なので、/ codebaseオプションを指定してRegasm.exeを入手してください。レジストリキー値HKLM \ Software \ Classes \ CLSID {guid}を確認します。/codebaseを使用していることを確認してください。これがなければ動作しません。

信頼性が問題になることがあります。fuslogvw.exeを使用して何が起こっているのかを確認します。信頼を割り当てるにはcaspol.exeが必要です。

それから、依存DLLがあるため、WindowsもCLRもそれらを見つけることができません。実際に何が起こっているかを見るには、SysInternalsのProcMonユーティリティを使用してください。 COMはレジストリキーを調べ、DLLを検索し、失敗した呼び出しを監視します。

0

コンポーネントが完全な信頼を必要とする可能性がありますあなたは.net 4.0を実行していません。古いバージョンでは、アクセス許可セットを手動で変更しない限り、ネットワークの場所は完全に信頼されません。

+0

信頼性の高いライブラリに、 caspol -machine -addfulltrust "\\ lanpc \ sharedfolder \ mycomserver.dll"という結果を持つライブラリを追加しようとしましたが、結果はありません – stanik

関連する問題