MSI以DOMAIN \ SYSTEM运行

时间:2017-09-28 07:37:11

标签: c# visual-studio windows-installer

我在Visual Studio中创建了一个MSI。运行MSI时,它运行为"DOMAIN\SYSTEM",我尝试使用当前登录的用户运行此MSI。

这可能吗?

1 个答案:

答案 0 :(得分:1)

MSI由msiexec.exe处理。此EXE在两个上下文中运行:客户端和服务器。

客户端在调用它的人的上下文中作为PID运行。这包括安装UI(InstalUISequence表中列出的任何内容)。

服务器端在SYSTEM上下文中作为Windows Installer服务运行。这包括显示进度条时发生的事情(InstallExecuteSequence表中列出的任何内容)。计划立即执行或通过模拟延迟执行的操作将在首先启动msiexec.exe的用户的上下文中运行。在没有模拟的情况下安排的延迟自定义操作将在运行msiexec.exe的主机Windows服务的SYSTEM上下文中运行。

如果您使用的是Systems Center Configuration Manager等工具,很可能(取决于您配置部署的方式)SYSTEM帐户将调用安装,因此所有内容都将作为SYSTEM运行。

整个MSI在用户上下文中运行的唯一方法是在Windows 95/98 / ME上安装。 :)