我可以安装吗? NET COM库位于网络共享文件夹中?

时间:2010-12-08 14:29:06

标签: .net .net-3.5 com regasm network-shares

COM服务器注册了位于网络文件夹中的reg asm无法正常工作。当您尝试创建对象时,会收到错误“自动化错误”。如果dll位于本地磁盘上,则一切正常。

其他信息:

  • 用.Net 3.5

  • 编写的COM库
  • 通过VB宏访问COM

  • 图书馆名称很强

2 个答案:

答案 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。在旧版本中,除非您手动更改权限集,否则不会授予网络位置完全信任。