如何删除"以管理员身份运行#34; C#中的要求

时间:2012-07-12 17:44:55

标签: c# admin

我有一个程序,它使用注册表来保存已打开的最后10个文件。曾经有一次我试图将它们保存在本地机器中,而是决定将它们保存在当前用户中。在尝试让一切工作的过程中,我创建了一个清单来强制程序以管理员身份运行,我不再需要它。我遇到的问题是我似乎无法删除该要求。

我有.... 将项目属性更改为“创建没有清单的应用程序”,添加了一个名为app.manifest的新项,默认为asInvoker,并更改了属性以使用该清单,重命名了文件名中包含单词manifest的任何文件。

这些尝试都没有奏效。该程序仍以管理员身份运行。我一定错过了什么,但我不确定是什么。

以下是app.manifest中的行

  <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
    <requestedExecutionLevel level="asInvoker" uiAccess="false" />
  </requestedPrivileges>

感谢您的帮助!!

加里

2 个答案:

答案 0 :(得分:10)

查看Properties文件夹中的app.manifest文件。删除以下行:

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

添加以下行而不是:

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

如果这没有帮助,请首先确保您还从bin \ Debug文件夹中删除了清单文件。简单地从解决方案中删除它无济于事,因为文件可能仍然在输出文件夹中可用。

这就是为什么我认为您不应该从项目中删除清单文件,而是将其更改为按预期工作。

答案 1 :(得分:3)

虽然这个问题已经超过一年了,但我正在回答它,因为它可能会节省一天的时间。

如果您已将应用程序配置为以管理员模式运行,现在要撤消这些权限,则需要执行以下步骤。

更改

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

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

右键点击您的项目 - &gt;清理您的解决方案 - &gt;重建您的解决方案就是这样。