COM服务器注册了位于网络文件夹中的reg asm无法正常工作。当您尝试创建对象时,会收到错误“自动化错误”。如果dll位于本地磁盘上,则一切正常。
其他信息:
用.Net 3.5
通过VB宏访问COM
图书馆名称很强
答案 0 :(得分: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,查看失败的调用。
答案 1 :(得分:0)
可能是组件需要完全信任而您没有运行.net 4.0。在旧版本中,除非您手动更改权限集,否则不会授予网络位置完全信任。