以编程方式将“以管理员身份运行该程序”标志添加到可执行文件?

以编程方式将“以管理员身份运行该程序”标志添加到可执行文件?

我需要将一个程序分发给 Windows(XP、7、8)用户。该程序需要管理员权限,因为它会添加和删除路由等。问题是可执行文件上的“以管理员身份运行此程序”标志未保留,因此我认为我可以使用批处理脚本或某种安装脚本中的类似脚本以编程方式添加该标志。

这是正确的方法吗?如果是,如何添加这个标志?

答案1

您可以在可执行文件的资源中包含一个清单文件。它将使 Windows 要求所有系统上的该文件具有管理员权限。

你可以使用 Resource Hacker 打开任何安装程序,然后你会发现一个类似这样的 XML 文件:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
    <ms_asmv2:security>
      <ms_asmv2:requestedPrivileges>
        <ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false"></ms_asmv2:requestedExecutionLevel>
      </ms_asmv2:requestedPrivileges>
    </ms_asmv2:security>
  </ms_asmv2:trustInfo>
</assembly>

这就是清单文件。你需要将类似这样的内容编译成资源。

相关内容