2010-12-08 3 views
0

Сервер COM, зарегистрированный в reg asm, находящемся в сетевой папке, не работает должным образом. При попытке создать объект получает ошибку «Ошибка автоматизации». Все работает правильно, если dll находится на локальном диске.Могу ли я установить. Библиотека NET COM, расположенная в общей сетевой папке?

Дополнительная информация:.

  • COM библиотека, написанная в Net 3.5

  • Доступ к COM через VB макро

  • Библиотека имеет сильное имя

ответ

1

Ввод COM-серверов в сетевую папку требует проблем. Он будет случайным образом выходить из строя, если отображаемая буква диска больше не отображается или не отображается в другом месте. Вы, по крайней мере, хотите, чтобы UNC-путь к серверу (например, \\machine\folder\etc), не так уверен, вы получите это из Regasm.exe с опцией/codebase. Проверьте значение ключа реестра, HKLM \ Software \ Classes \ CLSID {guid}. Убедитесь, что вы использовали/codebase, это не может работать без него.

Удовлетворение может быть проблемой, используйте fuslogvw.exe, чтобы узнать, что происходит. Вам понадобится caspol.exe для назначения доверия.

Тогда есть зависимые DLL, ни Windows, ни CLR не смогут их найти. Чтобы узнать, что действительно происходит, используйте утилиту SysInternals ProcMon. Вы увидите, что COM просматривает разделы реестра и ищет библиотеки DLL, следит за неудачными вызовами.

0

Может быть, что компонент требует полного доверия и лет u не запущены .net 4.0. В старых версиях сетевым местоположениям не предоставляется полное доверие, если вы не вручную измените наборы разрешений.

+0

Я попытался добавить библиотеку к доверенным с помощью команды: caspol -machine -addfulltrust "\\ lanpc \ sharedfolder \ mycomserver.dll" без каких-либо результатов – stanik 2010-12-08 14:50:01

 Смежные вопросы

  • Нет связанных вопросов^_^