COM服务器在网络文件夹中注册的REG ASM注册,无法正常工作。当您尝试创建对象时,会获取错误“自动化错误”。如果DLL位于本地磁盘上,一切正常。

附加信息:

  • com库写入。净3.5

  • 通过VB宏访问COM

  • 图书馆的名字很强

有帮助吗?

解决方案

将COM服务器放在网络共享上是有麻烦的。当映射的驱动字母不再被映射或在其他地方映射时,它将随机失败。您至少想要服务器的UNC路径(例如 \\machine\folder\etc),不确定您会使用 /codebase选项将其从RegasM.exe中获得。验证注册表密钥值,HKLM Software Class CLSID {GUID}。请确保您使用 /代码库,没有它,这无法正常工作。

信任可能是一个问题,请使用fuslogvw.exe查看发生了什么。您需要Caspol.exe来分配信任。

然后是依赖的DLL,Windows和CLR都无法找到它们。要查看实际正在发生的事情,请使用Sysinternals的Procmon实用程序。您会看到COM查看注册表键并搜索DLL,请注意失败的电话。

其他提示

可能是组件需要完全信任,并且您没有运行.NET 4.0。在较旧的版本中,除非您手动更改权限集,否则不会授予网络位置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top