位于网络文件夹中的reg asm注册的COM服务器工作不正常。当您尝试创建对象时出现错误“自动化错误”。如果dll位于本地磁盘上,一切工作正常。我可以安装吗?位于网络共享文件夹的NET COM库?
其它的信息:
写在COM库通过VB宏
图书馆网络3.5
访问COM具有强名称
位于网络文件夹中的reg asm注册的COM服务器工作不正常。当您尝试创建对象时出现错误“自动化错误”。如果dll位于本地磁盘上,一切工作正常。我可以安装吗?位于网络共享文件夹的NET COM库?
其它的信息:
写在COM库通过VB宏
图书馆网络3.5
访问COM具有强名称
将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并查看失败的调用。
这可能是组件需要完全信任和哟你没有运行.net 4.0。在较早的版本中,除非手动更改权限集,否则网络位置不会获得完全信任。
我试图使用以下命令将库添加到受信任的库: caspol -machine -addfulltrust“\\ lanpc \ sharedfolder \ mycomserver.dll”,但没有任何结果 – stanik 2010-12-08 14:50:01