【发布时间】:2011-03-31 11:45:45
【问题描述】:
存在一个 windows 安装程序 windows 服务(指向 msiexec 可执行文件)。此服务启动类型”为手动,“登录身份”设置为本地系统。当我们双击任何 .msi 文件时,此 Windows 服务会自动启动。此外,在已登录的用户上下文中创建了另外一个进程 (msiexec)。我想了解这两个不同进程所扮演的角色以及这两个进程如何相互交互?
【问题讨论】:
存在一个 windows 安装程序 windows 服务(指向 msiexec 可执行文件)。此服务启动类型”为手动,“登录身份”设置为本地系统。当我们双击任何 .msi 文件时,此 Windows 服务会自动启动。此外,在已登录的用户上下文中创建了另外一个进程 (msiexec)。我想了解这两个不同进程所扮演的角色以及这两个进程如何相互交互?
【问题讨论】:
该服务称为服务器进程,它基本上处理所有 MSI 安装。在安装期间,它可以有多个执行操作(例如自定义操作)的 MSIEXEC 子进程。
在当前用户帐户下运行的进程称为客户端。其目的是显示安装 UI,处理任何与 UI 相关的操作,并启动由服务器进程处理的执行序列。
因此客户端启动,显示 UI 并启动由服务器处理的实际安装。这些进程由 Windows Installer 服务自动处理。
你到底需要做什么?
【讨论】:
如需深入了解该技术,请参阅UAC in MSI 系列帖子。特别是 Credential Prompt and Permissions 的帖子,它显示了进程首先从用户上下文切换到系统上下文的位置(需要权限提升)
【讨论】: