0

我正在尝试在 Visual C# 2010 Express Edition 中发布我的项目。这就是我的清单文件的摘录 -

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

我需要这个设置,因为我的程序正在编辑注册表。所以当我去发布它时,我收到一条错误消息,说“ClickOnce 不支持 requireAdministrator 的请求执行级别”。所以我在“安全”选项卡下禁用了 ClickOnce,然后再次发布它,但我得到了同样的错误。我去检查安全选项卡,果然,ClickOnce 已启用——即使我禁用了它。似乎每次您尝试发布项目时,它都会被启用。有什么方法可以发布我的项目并启用 requireAdministrator 的执行级别?谢谢,感谢您的帮助。

4

1 回答 1

1

出于安全考虑,它被设计为 requireAdministrator 和 ClickOnce 不能一起运行。

ClickOnce / Vista / UAC - ClickOnce 旨在将应用程序安装在每个用户的安全缓存中,其好处是您不需要管理权限即可安装 Click Once 部署的应用程序的 VS 部分。单击一次,应用程序不会在运行时尝试提升到管理员权限,因为它们可能会将客户端暴露给安全提升攻击。这是设计使然。到目前为止,我们没有任何解决方法。

http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/2dfd23ee-ebfa-412c-a5dd-761ec1b55683/problems-embedding-manifest-for-uac-execution-level-for-clickonce-application

如果您不想使用 ClickOnce,可以通过取消Enable ClickOnce security settings选中.securityproject properties

于 2013-08-11T21:19:22.087 回答