electron应用以管理员权限启动

最近在用electron开发PC桌面应用,其中有个需求就是整个应用以管理员权限启动。很头痛,各种google,baidu。

最后终于解决了,可以分为三个步骤,做个总结分享。

  一、如果没有manifest.xml文件的话

可通过执行命令:mt.exe -inputresource:某某.exe -out:extracted.manifest导出 manifest.xml;

  二、如果有的manifest.xml文件的话,按照标红处修改;

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">    <dependency>        <dependentAssembly>            <assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"                              processorArchitecture="*" publicKeyToken="6595b64144ccf1df"                              language="*"></assemblyIdentity>        </dependentAssembly>    </dependency>    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">        <security>            <requestedPrivileges>                <!-- 修改前 -->                <!--                <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>                -->                <!-- 修改后 -->                <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>                <!-- end 修改 -->            </requestedPrivileges>        </security>    </trustInfo>    <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">            <dpiAware>true/pm</dpiAware>            <disableWindowFiltering xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">true            </disableWindowFiltering>        </asmv3:windowsSettings>    </asmv3:application>    <ms_compatibility:compatibility xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                    xmlns="urn:schemas-microsoft-com:compatibility.v1">        <ms_compatibility:application xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1">            <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                          Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></ms_compatibility:supportedOS>            <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                          Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></ms_compatibility:supportedOS>            <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                          Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></ms_compatibility:supportedOS>            <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                          Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></ms_compatibility:supportedOS>            <ms_compatibility:supportedOS xmlns:ms_compatibility="urn:schemas-microsoft-com:compatibility.v1"                                          Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></ms_compatibility:supportedOS>        </ms_compatibility:application>    </ms_compatibility:compatibility></assembly>

  三、最后执行命令:mt.exe -manifest manifest.xml -outputresource:你的应用名字.exe



原文地址:https://www.cnblogs.com/ypengbk/p/8967645.html

时间: 2024-11-09 00:43:32

electron应用以管理员权限启动的相关文章

系统开启UAC情形下开机自启动程序如何以管理员权限启动

题记:本文阐述的是在Windows系统开启UAC的情况下,开机自启动程序需要以管理员权限启动,系统弹出UAC对话框,用户同意的情形下启动程序 处理步骤: 1.判断Windows系统版本(Windows XP以上系统才有UAC,不包括Windows XP):若系统版本高于Windows XP,则执行步骤2: 2.判断系统是否开启UAC:若开启,则执行步骤3: 3.判断进程当前是否是以管理员权限启动:若不是管理员权限,则执行步骤4: 4.以特殊参数调用ShellExecuteEx函数,重新启动进程.

.net core程序强制以管理员权限启动

当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置 ????<requestedExecutionLevel?level="requireAdministrator"?uiAccess="false"?/> 即可 今天用.net core程序写了一个注册表的程序时发现,在.net core程序中按照上面设置却是不生效的,网上一些说法是.net core是跨平台的,不支

设置VS2010默认以管理员权限启动

找到VS2010的快捷方式:右击——“打开文件位置”找到VS2010的启动项目devenv.exe:右击——属性——兼容性——特权等级,以管理员权限运行:如果需要每个用户都以管理员权限运行,还可以“更改所有用户的设置”——特权等级,以管理员权限运行.

Loadrunner:管理员权限启动报错“win10 为了对电脑进行保护,已经阻止此应用”

问题 最近在尝试做性能测试,由于 Loadrunner 必须用管理员身份启动(普通用户权限启动会遇到各种权限不足的问题) 但是用管理员身份启动时,报错了:win10 为了对电脑进行保护,已经阻止此应用 解决方案 (1)使用 "win+R" (2)输入 gpedit.msc 进入组策略 (3)依次找到"计算机配置 -- windows设置 -- 安全设置 -- 本地策略 -- 安全选项",右侧找到"用户账户控制:以管理员批准模式运行所有管理员",选

判断当前进程是否以管理员权限启动的

uses shlobj; type WELL_KNOWN_SID_TYPE = ( WinNullSid, WinWorldSid, WinLocalSid, WinCreatorOwnerSid, WinCreatorGroupSid, WinCreatorOwnerServerSid, WinCreatorGroupServerSid, WinNtAuthoritySid, WinDialupSid, WinNetworkSid, WinBatchSid, WinInteractiveSid

Vista UAC下应用程序标注为“需要管理员权限”的四种方法

在Microsoft 的UACBlog里对此有过叙述.总结如下: 首先,如果一个程序被识别为管理员程序时,Vista会在它的图标上加上一个盾牌标记.因此很容易看出来. 其次,如果UAC有效的话,管理员程序启动时会弹出执行许可或者管理员密码输入对话框. 据此你可以知道你的标注是不是成功. 方法一:文件名里包含 “Setup”, ”Install” , “Update”字样,比如 TestSetup.exe 之类的. 这个方法由UAC的本地安全策略“检测安装程序”所控制.如果该策略设置为无效,则无效

WIN10使用管理员权限运行VS2013

学习WCF时出现报错-- 其他信息: HTTP 无法注册 URL http://+:8083/User/.进程不具有此命名空间的访问权限(有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=70353). 此报错为VS2013未使用管理员权限启动造成,直接在启动VS2013时“以管理员身份运行”也无法解决. 以下为设置VS2013每次启动时都以管理员身份运行的方法: 找到路径:C:\Program Files (x86)\Common Files\

VS 打开时默认使用管理员权限

1. 打开VS的安装目录,找到devenv.exe,右键,选择“兼容性疑难解答”. 2. 选择“疑难解答程序” 3. 选择“该程序需要附加权限” 4. 确认用户帐户控制后,点击测试程序,不然这个对话框不让你点下一步.很蛋疼,为什么不把下一步按钮禁用了呢? 5. 点击“测试程序”后,VS会以管理员权限启动.这就对了. 6.回到兼容性疑难解答对话框,点击下一步,然后选择“是,为此程序保存这些设置”,大功告成. 现在,不论是直接启动VS,还是双击sln启动VS,都会以管理员身份运行了 原文地址:htt

windows Service启动带有管理员权限的进程

事情是这样的,公司的产品有个守护进程(windows Service)需要启动产品的主程序exe,让主程序它运行为管理员权限(因为主程序会加载一个插件,插件中有列出端口监听的功能,需要由端口查找到进程PID,由进程PID查找进程名或进程镜像路径,这些对于一些特殊进程例如svchost需要有管理员权限才能查到进程名和路径).windows下的程序是不能在运行时获得管理员权限的,只能在创建进程的时候提升为管理员权限.如果是普通进程运行一个管理员权限程序,可以调用ShellExcute API.双击鼠