Могу я установить. Net Com Library, расположенная в сетевой общей папке?

StackOverflow https://stackoverflow.com/questions/4388578

Вопрос

Com Server, зарегистрированный в Reg ASM, расположенном в сетевой папке, не работает должным образом. Когда вы пытаетесь создать объект, получает ошибку «Ошибка автоматизации». Все работает правильно, если DLL находится на местном диске.

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

  • Библиотека com написана в. Net 3.5

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top