如果可能,以管理员身份运行,如果不是:以有限权限运行?

时间:2010-11-18 01:38:51

标签: windows-7 windows-vista uac

我需要根据用户权限更改应用程序的行为:

  1. 当我的应用程序可以以管理员身份运行时
  2. 当我的应用程序具有有限的权限时
  3. 由于“requireAdministrator”嵌入在清单中,因此同一个.exe无法同时在(1)和(2)上运行。

    处理这个问题的最佳方法是什么?我打算打包两个可执行文件(一个带有“requireAdministrator”)并决定运行哪个。 有人有其他建议吗?

1 个答案:

答案 0 :(得分:2)

您可以使用要求highestAvailable而不是requireAdministrator或asInvoker的清单。如果能够同意提升的人正在运行它,那么这将提升,但如果是需要OTS提示并输入管理员ID和密码的人则不会提升。我自己并不关心,因为你知道自己是否拥有这些特权,就无法自信地编写代码。但这就是如何实现你所要求的。