如果设置了RequireAdministrator,则无法发布

时间:2013-08-11 21:00:45

标签: c# clickonce manifest

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

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

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

1 个答案:

答案 0 :(得分:1)

由于安全性的限制,设计需要管理员和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的{​​{1}}标签中取消选中security,将其关闭。