我在本机上测试时没有问题,但把服务器端安装在另一台机子上时,客户端连接服务器端时就提示"拒绝访问",我都已经配置好了DCOM中的属性也不行,还有把两台机子在同一administrator下运行也不行.

解决方案 »

  1.   

    DCOM 服务程序配置一般来讲,DCOM的服务端和客户端应当是相同的配置方法。但因OS(Windows NT, Windows 2000, Windows XP, Window 2003)的不同,在配置的过程中可能有差异(MS提供的配置程序不同)。但总体来说是如下过程。一、 首先要开通Windows OS的Guest用户;
    二、 注册相关DLL文件:
    如果是用ATL开发的DLL,则要注册不同开发环境的ATL??.DLL文件。
    注册DLL文件使用regsvr32命令(regsvr32 dllname.dll)。
    三、 注册服务程序:
    可以使用 /regserver 参数注册(servername /regserver)。
    四、 运行DCCOMCNFG.EXE配置程序(本文以Windows XP为例, 其它Windows OS可能与下面的讲解有出入,但无论是何OS您都能找到对应的选项)。
    A、 组件服务计算机我的电脑DCOM配置,工具栏配置我的电脑:
    a、“默认属性”选项页中: 在此计算机中使用分布式(DCOM);
    b、“COM安全”选项页中: 
    1、访问权限编辑限制: 允许ANONYMOUS LOGON用户所有权限。
                 并新增Everyone用户允许其所有权限。
          2、启动和激活权限编辑限制:  新增Everyone用户并允许其所有权限。 B、组件服务计算机我的电脑DCOM配置右键要配置的服务属性:
    a、“常规”选项页中:身份验证级别:默认。
    b、“位置”选项页中:选中 “在此计算机中运行应用程序”和“在以下计算机中运行应用程序(并在在文本框中输入服务器IP地址)”。
    c、“安全”选项页中:
    1、启动和激活权限编辑权限新增用户Everyone并允许所有权限。
    2、访问权限编辑权限新增用户Everyone并允许所有权限。
                 d、“标识”选项页中:选中 系统帐户。
         五、服务(本地)右键服务程序名称属性:
           在登陆选项页中选中“允许服务与桌面交互”。
      

  2.   

    另外,DCOM不能穿透防火墙。把防火墙关闭试试
      

  3.   

    嗯。客户端和服务器要有相同的DCOM配置
      

  4.   

    是不是注册.dll啊?我注册了也不行啊.
      

  5.   

    注册代理存根,XXps.dll。在DCOM配置中,要使该用户有远程启动和访问的权限。CoCreateInstanceEx的时候的参数设置好,尤其是其中的COSERVERINFO * pServerInfo参数
    pServerInfo里面还有个COAUTHINFO  * pAuthInfo;
      

  6.   

    另外DCOM用的是RPC协议,135端口,如果有防火墙这方面也要注意了。
      

  7.   

    传了用户名和密码之后出现的错误是:RPC服务器不可用.怎么办啊.