共存实用程序的工作原理

CA ControlMinder 提供的共存实用程序 (eACoexist) 允许您解决与本地计算机上其他程序的潜在冲突。 要了解该产品如何解决这些潜在的冲突,并能够掌握解决冲突的方式,您需要了解实用程序的工作原理。
cminder12901cn
CA ControlMinder 提供的共存实用程序 (eACoexist) 允许您解决与本地计算机上其他程序的潜在冲突。 要了解该产品如何解决这些潜在的冲突,并能够掌握解决冲突的方式,您需要了解实用程序的工作原理。
共存实用程序运行时,它将执行以下操作:
  1. 检查下列条件
    之一
    适用:
    1. CA ControlMinder 未运行。
    2. 您具有 ADMIN 属性。
    如果两个条件都不适用,则实用程序便退出。
  2. 找到 response.ini 文件,如下所示:
    • 在安装期间该工具运行时,它使用路径
      介质驱动器
      :\Coexistence\_
      architecture
    • 如果计算机上安装了 CA ControlMinder,它将使用以下注册表项值:
      HKLM\SOFTWARE\ComputerAssociates\AccessControl\AccessControl\SeOSD\ResponseFile
    如果文件不存在,实用程序退出。
  3. 找到共存插件目录,如下所示:
    • 如果您运行实用程序,并从命令行传递参数,则它将使用该参数作为该插件的路径。
    • 在安装期间该工具运行时,它使用路径
      介质驱动器
      :\Coexistence\_
      architecture
    • 如果不使用任何参数来运行该工具,它会将字符串“\Coexistence”与以下注册表项值串联:
      HKLM\SOFTWARE\ComputerAssociates\AccessControl\AccessControl\SeOSPath
    如果目录不存在,或在目录中没有共存插件,则实用程序会退出。
  4. 执行发现过程。
    为此,它会枚举共存插件目录中的可执行文件,并逐个执行它们,如下所示:
    1. 将插件执行结果存储在 %windir%\EACDiscovery.ini 中
      注意:
      成功完成插件发现过程时,该实用程序自动删除此文件。
    2. 检查输出文件 EACDiscovery.ini 是否存在。
      如果该文件不存在,实用程序将继续执行下一个插件。
    3. 对于 EACDiscovery.ini 中的每个产品部分,将部分(产品)名称和版本值串联,并检查响应文件是否包含匹配部分。
      注意:
      response.ini 文件包含每个共存程序的部分。 如果一个部分名称出现版本号(例如:eTrust Audit-1.5),实用程序将仅对指定版本执行操作。
    4. 如果响应文件中存在匹配部分,执行在该部分中 Act-Utility-0 的值设置的操作,如下所示:
      • 1
        - 发出发现的产品与 CA ControlMinder 不兼容的警告。
      • 2
        - 停止已发现产品的服务。
        该实用程序从 EACDiscovery.ini 文件检索已发现产品的服务。
      • 3
        - 与 2 相同,但是在 CA ControlMinder 安装期间。
      • 4
        - 启动已发现产品的服务。
        该实用程序从 EACDiscovery.ini 文件检索已发现产品的服务。
      • 5
        - 为已发现产品的进程创建受托程序规则 (SPECIALPGM) 并启动 CA ControlMinder。
        该实用程序从 EACDiscovery.ini 文件检索已发现产品的进程。 它还从该文件检索相应的程序类型 (pgmtype)。 然后它创建一个临时脚本文件 (
        ACInstallDir
        \Data\discoveryscp),该脚本文件在 CA ControlMinder 启动时执行。
      • 6
        - 与 2 相同,但是在 CA ControlMinder 卸载期间
      注意:
      每个部分可以包含多个操作。 例如:可以按 Act-Utility-0、Act-Utility-1 和 Act-Utility-2 的顺序执行。