2012-12-19 102 views
1

在Visual Studio(VB.NET)中,启用应用程序ClickOnce设置和向我的应用程序添加管理员权限(使用应用程序UAC设置)有什么区别?ClickOnce应用程序设置与管理员权限(Visual Studio,VB.NET)

我知道我无法在同一时间添加管理员权限并启用clickonce设置... UAC权限必须为Invoker,当我启用ClickOnce时...因此,ClickOnce安全设置是应用程序的替代品管理员权限?

不一样的东西?

请详细解释一下。谢谢

回答

1

UAC设置(app.manifest中的requestedExecutionLevel设置)和ClickOnce是两种完全独立的技术。

requestedExecutionLevel提供了一种机制来设置您的应用需要,以便它按设计运行

ClickOnce,您可以通过使用“点击”发布您的应用程序由最终用户安装的权限。用户不necesarily需要安装应用程序的管理权限 - “ClickOnce部署使必要的应用程序非管理用户安装并只授予那些代码访问安全权限”

注意,最终用户谁不管理员可以安装使用clickOnce部署的应用程序,但如果您将requestedExecutionLevel设置为requireAdministrator,则它们将无法运行它。

+0

我有一个问题。在ClickOnce标签我需要RegistryPermision被启用。但是当我将它设置为''包括''时,它说“应用程序将需要提升的权限运行在选定的区域”。结论我必须设置requestedExecutionLevel管理员,不是吗?这样做,我会确保没有安全异常会导致我的应用程序崩溃....但在我已将requestedExecutionLevel更改为管理员后,它说'ClickOnce不支持所请求的执行级别“我要做什么?启用ClcikOnce,或设置requestedExecutionLevel管理员? – Andrei20193

+0

在Windows Vista上,当我尝试添加注册表的密钥时,出现异常:System.Security.SecurityException:不允许请求的注册表访问。我不得不提及,我的应用程序以管理员身份执行 – Andrei20193