我在Visual Studio中创建了一个MSI。运行MSI时,它运行为"DOMAIN\SYSTEM"
,我尝试使用当前登录的用户运行此MSI。
这可能吗?
答案 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上安装。 :)