inno setup制作的安装包,默认是不需要管理员权限启动的。我们制作安装包,往往需要做一些设置工作,这些设置工作可能用到管理员权限。使用Resource Hacker修改inno setup资源,使inno settup生成的安装包以管理员权限启动。
1 Resource Hacker简介
Resource Hacker 免费软件,用于查看,修改,添加和删除 Win32 可执行文件的资源。内置了一个内部资源编译器和反编译器。
官网:http://www.angusj.com/resourcehacker/
安装包:http://www.angusj.com/resourcehacker/reshacker_setup.exe
压缩包:http://www.angusj.com/resourcehacker/resource_hacker.zip
2 Resource Hacker功能
2.1. 查看 Win32 可执行和相关文件的资源 (.exe, .dll, .cpl, .ocx),在已编译和反编译的格式下都可以。
2.2. 提取 (保存) 资源到文件 (*.res) 格式,作为二进制,或作为反编过的译资源脚本或图像。
图标,位图,指针,菜单,对话,字符串表,消息表,加速器,Borland 窗体和版本信息资源都可以被完整地反编译为他们各自的格式,不论是作为图像或 *.rc 文本文件。
2.3. 修改 (替换) 可执行文件的资源。
图像资源 (图标,指针和位图) 可以被相应的图像文件 (.ico, .cur, .bmp),.res 文件,甚至另一个 *.exe 文件所替换。
对话,菜单,字符串表,加速器和消息表资源脚本 (以及 Borland 窗体) 可以通过使用内部资源脚本编辑器被编辑和重新编译。
资源也可以被一个 *.res 文件所替换,只要替换的资源与它是同一类型并且有相同的名称。
2.4. 添加 新的资源到可执行文件。
允许一个程序支持多种语言,或者添加一个自定义图标或位图 (公司的标识等) 到程序的对话中。
2.5. 删除 资源。大多数编译器添加了应用程序永远不会用到的资源到应用程序中。删除这些不使用的资源可以减小一个应用程序的大小。
3 使用ResourceHacker修改inno setup资源
3.1 解压resource_hacker.zip压缩包,运行 resource_hacker.exe。
3.2 选择ResourceHacker 文件菜单中的打开菜单,打开inno setup的SetupLdr.e32 文件。
3.3 修改 SetupLdr.e32 的Manifest文件。
A:把requestedExecutionLevel level设置为requireAdministrator
B: 点击 编译 按钮,点击保存。
C:点击保存按钮,保存修改后的文件。
3.4 使Inno Setup 打包的文件将以管理员权限运行。生成的打包文件带有管理员启动标志。
未修改前图标没有盾牌:
修改后图标多了盾牌:
3.5 注意:这里只是安装包文件使用管理员权限启动,如果要使包内的运行文件使用管理员权限,你需要设置自己开发升序的manifest属性requestedExecutionLevel level="requireAdministrator"。
即vs工程的配置属性=>清单文件=>UAC执行级别=>选则requireAdministrator(/level='requireAdministrator')
转自:https://blog.csdn.net/longji/article/details/53523808