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

用Inno setup制作以管理员权限启动的安装包的更多相关文章

  1. 用inno Setup制作web项目安装包

    http://www.cnblogs.com/xionghui/archive/2012/03/22/2411207.html 用inno Setup制作安装包 新建一个文件夹exambody,放ap ...

  2. [Azure DevOps] 使用 Inno Setup 制作桌面软件安装包

    1. 桌面应用程序的 CI/CD 桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的"部署"只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以 ...

  3. Inno Setup制作应用程序安装包

    我最近写了一个MFC应用程序,想发给其他的小伙伴玩一玩,直接发了个exe文件过去,结果发现小伙伴那边打不开.原来这个exe文件虽然是MFC静态编译的,但是还依赖了其他几个.dll文件,需要把这几个dl ...

  4. 用非管理员权限启动主程序,并用管理员权限启动子程序,导致WM_COPYDATA消息发送失败的问题

    问题描述 :     用非管理员权限启动dzh,dzh再启动dtssm,由于dtssm的配置文件app.manifest 中设置了requireAdministrator,导致dtssm总是以管理员权 ...

  5. 用Inno Setup制作WEB程序安装包

    原文 用Inno Setup制作WEB程序安装包 最近做了一个WEB程序的安装包,我把制作的过程做个介绍,贴出源码给大家做个参考 看看inno 的脚本 [Setup] AppCopyright=tes ...

  6. electron应用以管理员权限启动

    最近在用electron开发PC桌面应用,其中有个需求就是整个应用以管理员权限启动.很头痛,各种google,baidu. 最后终于解决了,可以分为三个步骤,做个总结分享. 一.如果没有manifes ...

  7. VS2017设置默认管理员权限启动

    找到vs安装目录下的:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe 右键- ...

  8. Vista之前的版本,默认本地登陆用户都以管理员权限启动程序

    Vista之前的版本,默认本地登陆用户都以管理员权限启动程序,之后的OS版本默认都没有管理员权限,需要用户提权才能做某些操作,否则需要管理员权限的操作都会失败MSSQL是用户名账号连接,Socket方 ...

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

    当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置requestedExecutionLevel 节点即可 &l ...

随机推荐

  1. 008——转载——c#获取当前日期时间

    (一)转载——c#获取当前日期时间 我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日 ...

  2. MongoDB 集群设置集合分片生效及查看集合分片情况

    一.设计DB分片与Collection分片 #连接mongos /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:27017   ...

  3. MySQL 事务 MVCC 版本链

      版本链   对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列(row_id并不是必要的,我们创建的表中有主键或者非NULL唯一键时都不会包含row_id列):  1) ...

  4. Ubuntu下Django+uWSGI+nginx部署

    本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...

  5. jquery 元素前或插入一元素

    /* *插入方法 */function addEditRow(obj, modelId) { $($("#" + modelId).html()).insertAfter($(ob ...

  6. Concurrent初探 --- Atomic 无锁

    一.CAS算法 Compare And Swap,CAS算法的过程是这样:它包含3个参数CAS(V,E,N).V表示要更新的变量,E表示预期值,N表示新值.仅当V值等于E值时,才会将V的值设为N,如果 ...

  7. start、就绪、运行状态的demo演示

    1.start状态: package com.roocon.thread.t1; public class NewThread implements Runnable { @Override publ ...

  8. ngx.shared.DICT.set

    ngx.shared.DICT.set 原文: ngx.shared.DICT.set syntax: success, err, forcible = ngx.shared.DICT:set(key ...

  9. iframe窗口嵌套,子窗口跳转重叠在父窗口的问题

    window.top //最顶层窗口 window.self //当前窗口 window.parent //父级窗口 "window.location.href"."lo ...

  10. PhpStorm 增加Swoole智能提示

    下载https://github.com/eaglewu/swoole-ide-helper的源码 git clone https://github.com/eaglewu/swoole-ide-he ...