以管理员身份启用启动,在安装路径中添加清单文件

时间:2013-02-12 11:32:53

标签: c# manifest uac

我有一个可以作为标准用户运行的应用程序。 我希望能够执行以下操作:当我将清单文件(我不想将其嵌入,否则应用程序将始终以管理员身份运行)复制到安装文件夹时,应用程序应始终以管理员身份启动。

这是我在一个名为myappname.exe.manifest

的文件中插入的文本
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

我预计将其复制到安装文件夹中就足以让应用程序自动以管理员身份启动,但它无法按预期工作。 有什么建议?感谢。

1 个答案:

答案 0 :(得分:0)

很可能你嵌入了默认的清单文件,它在Windows Server 2003+上覆盖了外部清单(在Windows XP中,外部清单会覆盖内部清单)。要解决此问题,您可以构建没有清单文件的应用程序(项目属性/应用程序/清单 - &gt;创建没有清单的应用程序)。还要记住清单文件的正确命名,即MyAppName.exe.manifest