我有一个用 Delphi v6 编写的旧版 DCOM 服务器和客户端应用程序。DCOM 服务器当前配置为运行一次并为所有客户端提供服务。它运行一次的主要原因是服务器为帐户应用程序提供了一个接口,并且必须登录并且对于给定的用户名只能执行一次。
我们的客户现在想要将他们的服务器升级到 Windows Server 2008 R2,让客户端继续使用 Windows XP,但我无法复制当前的设置。
我可以在测试台上工作的当前设置有点奇怪!
- 我必须配置 DCOM 设置以允许远程启动,否则我在客户端上被拒绝访问
- 如果 DCOM 服务器尚未运行,当客户端尝试连接到它时,服务器执行失败。
- 如果服务器正在运行并且启动权限设置为允许远程启动,则客户端会启动 DCOM 服务器的新实例,而不是使用已启动的实例。这会导致帐户应用程序出现问题,因为同一用户尝试登录是不允许的。
- 如果我关闭服务器上运行的 DCOM 服务器,客户端会愉快地使用它自己的实例。我看不到 DCOM 服务器主窗体,因为它在后台运行(可以在任务管理器中看到)
我找到了各种与这个问题有关的文章,但到目前为止没有任何效果。其中包括以管理员身份运行 DCOM 服务器、不以管理员身份运行 DCOM 服务器、允许 COM+ 在防火墙中、将 DCOM 服务器添加到防火墙、位于 SysWOW64 中的 DCOM 服务器、使用 32 位版本的 DCOMCNFG 等。
现在不知道去哪里了...
谢谢你的帮助
西蒙