0

可能重复:
从提升的进程启动非提升的进程

故事:
Standard-User启动一个 MSI As Administrator,Msi 在安装完成时启动一个进程(比如说 Sample.exe)。
问题:
Sample.exe 以管理员权限而不是当前桌面 (statndard) 用户启动。这导致了一些问题。
所以我希望 sample.exe 应该以当前窗口登录用户(标准用户)开始。

我做了一些谷歌搜索,找到了这篇文章。但是这篇文章在C++并且我正在使用C#and WIX。因此,如果在 c# 中有任何其他简单的方法可以做到这一点,如果没有,那么我如何在我的项目中使用本文的代码。

NOTE: This question has been asked multiple time on stackoverflow but i didnt find the answer for c#

4

1 回答 1

2

根据最佳实践,安装人员应...

  • 以标准用户身份启动非提升
  • UI 安装顺序未提升
  • 转换到执行序列将提示确认。如果用户是管理员,他们会收到 UAC 提示。如果用户不是管理员,则会提示他们输入管理员的“肩负”凭据
  • 计划为即时延迟的自定义操作与模拟运行与用户上下文(非提升)
  • 计划为 Deferred with No Impersonation 的自定义操作运行提升为 SYSTEM

如果 MSI 从提升的进程(例如 CMD 以管理员身份运行)启动,则 UI 和 Execute 都将被提升。这是设计使然,据我所知,没有办法将其降级,我也想不出您想要这样做的任何理由。

于 2012-09-20T15:06:38.630 回答