【发布时间】:2019-01-31 10:29:22
【问题描述】:
到目前为止,我有一个 Windows 应用程序项目,执行级别设置为“requireAdministrator”,但我想更改此设置,以便非管理员用户可以使用该应用程序。我在 app.manifesto 文件中设置了这个(代码如下)
但是当我从非管理员用户那里尝试项目时,它仍然要求管理员权限。
我也尝试了最高可用,但仍然是同样的故事。
有人知道我做错了什么吗?
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
【问题讨论】:
-
作为答案,存在三种可能的提升上下文:启动安装引导程序、启动安装和启动已安装的可执行文件。清单仅适用于外部两个;中间由 Windows Installer 设置控制。请说明您要解决的问题。
-
@MichaelUrman 我想要的是启动安装引导程序。我的应用程序无法从没有提升权限的用户帐户启动。如果我的客户在他的笔记本电脑上有用户帐户,他无法从 Windows Installer 设置更改组策略中的任何内容以安装具有提升权限的所有内容,因为这也需要管理员权限。我希望我的应用可以安装在任何类型的帐户上,包括用户帐户,因为现在我只需要拥有管理员权限。
-
要么我看错了,要么你的评论不同意原来的问题。如果应用程序需要提升,那么允许它在没有提升的情况下安装是没有意义的(尽管允许引导程序启动非提升可能会很好)。如果应用不应该需要提升,那么可能允许每个用户安装(参见例如helpnet.flexerasoftware.com/installshield24helplib/helplibrary/…),并确保所有可启动的exe都显示出来asInvoker 或 highestAvailable。如需更多可操作的建议,请澄清您的问题。