msi安装后启动exe但使用当前用户权限

DEH*_*DEH 6 security installer windows-installer exe

我正在使用Visual Studio 2008来构建MSI安装包.在安装中我有很多自定义操作.在OnAfterInstall自定义操作中,我尝试启动安装部署的exe.exe启动正常,但在NT AUTHORITY\SYSTEM的安全上下文中运行(即在授予Windows Installer进程的提升权限下).我实际上需要exe在首先启动安装的当前登录用户的安全上下文中运行.有没有人知道如何启动exe所以它在这个'减少'的上下文中运行.我真的想避免在可能的情况下向用户询问他们的登录凭据.

Ole*_*leg 2

您需要使用远程桌面服务API:http://msdn.microsoft.com/en-us/library/aa383464%28v=VS.85%29.aspx。从 WinXP 开始可用。

此 API 允许您在任何登录的用户帐户的上下文中运行应用程序。您需要作为系统运行才能使用它。而你是。例如,您可以使用 WTSEnumerateSessions 枚举会话,然后通过 WTSQueryUserToken 获取用户令牌并使用此令牌运行应用程序。