【发布时间】:2015-02-04 11:07:04
【问题描述】:
我们有一个在本地机器上使用一些 DLL 的 VB6 应用程序。现在我们要在远程 COM+ 服务器上分发 DLL。
我在服务器上注册了一个 COM 应用程序并将其导出为代理 .msi 安装程序,并将其安装到我的本地计算机上。
当启动应用程序时,它会显示一条错误消息“运行时错误'462'远程服务器机器不存在或不可用”。
当我尝试调试时,我发现它无法调用我的一个分布式 DLL。
问题:我做错了什么?我能做些什么来解决它?
Dim oRefE As UtilitairesClientMal.Erreurs
Dim oRefTR As UtilitairesClientMal.TablesReference
Set oRefE = New UtilitairesClientMal.Erreurs '它在这里失败并跳转到下一个突出显示的行
g_sNomMachine = oRefE.NomMachineConnecte
g_sNomUtilisateur = oRefE.NomUtilisateurConnecte
Set oRefE = Nothing
........
将 MonErreur 调暗为 ALWErreur.Erreur
Set MonErreur = New ALWErreur.Erreur
- 本机是W7(32位)
- 服务器是Windows Server 2008(32位)
请善待 :) 如果有人需要澄清可能有助于发表评论 (我对 VB6 和 COM+ 都不是很有经验,所以请原谅我的无知 :()
【问题讨论】:
-
不确定,因为我自己没有这样做,但我相信你需要使用后期绑定,即 CreateObject。另外,服务器是否有超过1个网卡?
-
@jac 我已经检查过了,服务器有两个网卡,我在注册表“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\DCOM”中检查了 DCOM 协议的关键值“ncacn_ip_tcp”我可以使用IP 地址而不是服务器名称?
-
我不知道,因为这可能就是问题所在,但这里有几个 kb 故障排除文章的链接。 support.microsoft.com/kb/183930/EN-US, support.microsoft.com/kb/269330/en-us
标签: windows-7 vb6 windows-server-2008 com+ dcom