我有一个用Delphi v6编写的旧版DCOM服务器和客户端应用程序。 DCOM服务器当前配置为运行一次并为所有客户端提供服务。它运行一次的主要原因是服务器提供了一个帐户应用程序的接口,必须登录,并且只能为给定的用户名执行一次。
我们的客户现在想要将他们的服务器升级到Windows Server 2008 R2,而将客户端放在Windows XP上,但我无法复制当前的设置。
我可以在测试台上工作的当前设置有点奇怪!
我找到了各种与这个问题相关的文章,但到目前为止还没有任何工作。这些包括以管理员身份运行DCOM服务器,不以管理员身份运行DCOM服务器,允许在防火墙中使用COM +,将DCOM服务器添加到防火墙,使用32位版本的DCOMCNFG将DCOM服务器添加到SysWOW64中,等等。
现在不确定去哪里......
感谢您的帮助
西蒙
答案 0 :(得分:3)
在XP SP2和2003 SP1中,DCOM默认权限已更改。您需要正确配置才能使您的服务正常运行。通常,除非您在服务中实现DCOM服务器(由于DCOM支持有限,Delphi不允许这样做),DCOM服务器在用户连接时启动,这就是您可能需要“远程启动”权限的原因。 此外,DCOM服务器可以在给定用户,交互式用户(对于远程客户端必须避免!)或启动用户的上下文中启动。你用的是什么模式? - 如果设置为“启动用户”,它将始终创建一个新实例。在新操作系统之前,您的服务器是如何实例化的?它的班级工厂是如何实施的? 有关DCOM和Delphi实现的一些有趣信息,请参阅here。
顺便说一句: