我正在尝试在Visual C#2010 Express Edition中发布我的项目。这是我的清单文件的摘录 -
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我需要有这个设置,因为我的程序正在编辑注册表。因此,当我发布它时,我收到一条错误消息,指出“ClickOnce不支持requireAdministrator的请求执行级别”。所以我在Security选项卡下禁用ClickOnce,然后再次发布它,但是我得到了同样的错误。我去检查安全选项卡,果然,ClickOnce已启用 - 即使我禁用了它。看来,每次尝试发布项目时,都会启用它。有没有办法发布我的项目并启用requireAdministrator的执行级别?谢谢,感谢您的帮助。
答案 0 :(得分:1)
由于安全性的限制,设计需要管理员和ClickOnce无法一起操作。
ClickOnce / Vista / UAC - ClickOnce旨在将应用程序安装在安全的每用户缓存中,其好处是您不需要管理权限即可安装Click Once部署的应用程序的VS部分。单击一旦应用程序在运行时不尝试提升为管理员权限,因为它们可以使客户端暴露于安全性提升攻击。这是设计的。到目前为止,我们还没有任何解决方法。
如果您不想使用ClickOnce,可以在Enable ClickOnce security settings
的{{1}}标签中取消选中security
,将其关闭。