部署应用程序代理

若要从另一台(客户端)计算机远程访问 COM+ 服务器应用程序,客户端计算机必须安装服务器应用程序的属性子集,包括用于 DCOM/QC 接口远程处理的代理/存根 DLL 和类型库。 此子集称为应用程序代理

通过组件服务管理工具,可以轻松地将 COM+ 服务器应用程序导出为应用程序代理。 若要使 COM+ 生成应用程序代理,必须安装服务器应用程序中的所有组件,并且未导入所有这些组件。 (有关此区别的详细信息,请参阅导入组件。)这可确保应用程序包含所有必要的注册信息。

注意

建议将接口定义与类实现分开。 否则,COM+ 应用程序代理中包含的 DLL 或类型库集将包含实际的服务器代码。

 

COM+ 生成的应用程序代理是 Windows Installer 安装包。 安装后,应用程序代理将显示在客户端计算机的“添加/删除程序”控制面板中(除非使用 Windows Installer 创作工具修改 .msi 文件)。

通过应用程序代理进行远程访问

生成应用程序代理时,COM+ 会自动提供以下信息,以便满足应用程序代理远程访问 COM+ 服务器应用程序所需:

  • 类标识信息(CLSID 和 ProgID)。 应用程序代理最多支持两个 ProgID。
  • 应用程序标识和类与应用程序的关系 (AppID)。
  • 每个应用程序的位置信息(远程服务器名称)。
  • 封送处理应用程序公开的所有接口的信息(例如类型库和代理/存根)。
  • MSMQ 队列名称和标识符(如果为应用程序启用了排队组件服务)。
  • 类、接口和方法属性,不包括角色信息。
  • 应用程序属性。

在其他操作系统上安装应用程序代理

与 COM+ 服务器应用程序不同,可以将应用程序代理安装在支持 DCOM(和 Windows Installer)的任何操作系统上。 在未运行 COM+ 的计算机上,仅安装 DCOM 远程处理所需的信息子集。 会将此类信息安装到 Windows 注册表中(使用 HKEY_CLASSES_ROOT, APPID/CLSID 项)。

注意

在未运行 COM+ 的计算机上安装应用程序代理(.msi 文件),需要在这些计算机上安装 Windows Installer。 建议开发人员将 Windows Installer 可再发行文件 (instmsi.exe) 及其应用程序的 .msi 文件一起发送。 这将确保在未运行 COM+ 的客户端上部署应用程序代理时,系统管理员可以使用 Windows Installer。

 

在运行 COM+ 的计算机上,会将应用程序代理信息安装到 COM+ 目录中,并且此类信息将在组件服务管理工具中可见。

为 COM+ 应用程序创建安装包

COM+ 目录

COMREPL 复制实用工具