一、C#项目端的处理
目标:快捷方式有带盾的标识
在源码的Properties目录中找到 app.manifest,将其中level="asInvoker" 改成 level="requireAdministrator"。
如果没有app.manifest文件可以打开项目属性,找到安全性项,勾上启用 ClickOnce 安全设置,这时会生成app.manifest文件,然后再把勾去掉。
重新编译,程序图标就会出现小盾牌,以后会自动以管理员身份运行。
二、Inno Setup端的处理
1、[Setup]段增加
PrivilegesRequired=admin
2、找到INNO安装目录下的SetupLdr.e32文件,将文件的
<security><requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges></security>
改为
<security><requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"><requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges></security>
这样所有被编译出的安装程序在Windows Vista/7/8/10 下启动时就会自动提示需要管理员权限。
注:用ResHacker来修改SetupLdr.e32