如何配置我的应用程序以自动以管理员身份运行?

如何配置我的应用程序以自动以管理员身份运行?

我使用 Winrar SFX 功能创建了一个包含可执行文件的补丁文件。
执行 SFX 文件并解压完成后,我的可执行文件将永远无法运行,因为它没有管理员权限。我想知道如何通过某种编程方式(如批处理文件)授予管理员对该文件的访问权限。

我知道我可以右键单击它,转到“属性”,选择“兼容性”选项卡,然后勾选“以管理员身份执行”框。

问题是下载该补丁的用户不知道它(并且我的 exe 仅在您右键单击它并选择“以管理员身份打开”时运行,否则它永远不会打开也不会显示 UAC 弹出窗口)。

我尝试了一些方法,比如“Elevator Runner (Elevate me)”等,但我实际上正在寻找比这更简单的方法。
我只需要让 exe 始终以管理员身份运行。

答案1

你需要做的是嵌入一个应用程序清单进入 EXE。

  1. 将以下内容保存为名为应用程序清单

    <?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>
    
  2. 下载 Windows SDK。

  3. 你会发现执行程序清单工具. 调用方式如下:

    mt.exe -manifest "App.exe.manifest" -outputresource:"App.exe";#1
    
  4. 如果没有错误,您就大功告成了。您可以删除清单文件并仅分发 EXE。运行它应该会让它每次都自动请求管理员访问权限。

来源

答案2

创建档案时,请求管理权限在此处输入图片描述

相关内容