使用管理员帐户以标准权限运行 .net 应用程序

使用管理员帐户以标准权限运行 .net 应用程序

如果我以管理员身份登录 Windows,是否可以运行具有标准权限的应用程序?即使从管理员帐户启动,Outlook 似乎也会以标准权限运行。所以我相信这是可能的。

该应用程序是我们自己构建的,因此我们可以根据需要更改清单。它现在设置为 HighestAvailible。但如果我们将其更改为 AsInvoker,它将在管理员帐户上以提升的权限运行,在标准帐户上以标准权限运行。

所以我的问题是;我可以强制 Windows 以标准权限运行该应用程序吗?

背景信息:我想要这样做的原因是我们进行了一些 Outlook 集成。如果我们的应用程序以管理员身份运行,而 Outlook 以标准身份运行,则会发生 COM 错误。如果我强制 Outlook 以管理员身份运行,并且我们以管理员身份运行,它就可以正常工作。如果我从标准帐户运行我们的应用程序,它也可以正常工作。因此,唯一失败的情况是当我们的应用程序以管理员身份运行,而 Outlook 以标准身份运行时。这似乎是 Windows 8.1 中的默认方式。即使在管理员帐户上,Outlook 也会以标准权限启动。

答案1

这是 Windows 中的默认行为,因为Windows Vista。 这就是所谓的用户帐户控制 (UAC). 所有应用程序均以使用过滤令牌运行的 shell(Explorer.exe)的权限启动。

要以管理员权限运行应用程序,您必须通过右键单击并选择来明确执行此操作“以管理员身份运行”并批准此事。

相关内容