写在前边
此文章涉及的文件
inno setup 6.2.2 (官方版)
inno setup v6.0.4(汉化版)
获取途径
加入群聊:431615454。
或关注公众号:python编程自留地–输入关键词2305311758
问题的出现原因:
打包的主执行程序需要管理员权限,而inno setup打包出来的安装向导程序默认是没有获取到管理员权限的,所以报错,请求操作需要提升
解决方案
注意:解决方案前的检查
打开inno setup安装目录检查是否有如下SetupLdr.e32文件(有的话直接跳过下边五步解决思路)
如果没有,说明你可能是在电脑管家或360商店下的汉化版本(有些文件被删除掉了,当然有解决办法)
解决思路:
- 去官网找官方版本,然后下载安装到现在汉化版的文件夹中(原来汉化版可以不卸载)
- 安装完成后查看inno setup 6文件夹是已否有SetupLdr.e32文件(不出意外的话肯定有)
- 当然,此时无SetupLdr.e32文件的问题已经解决了,但是打开inno setup发现,汉化没了(肯定,因为是官方版本嘛)
- 还原汉化版本,就是找到原来的inno setup汉化版,再次安装(注意,这次安装一定选到官方版的安装目录)
- 打开inno setup 发现还是汉化,并且inno setup 文件夹下SetupLdr.e32文件也存在,问题完美解决,可以进行下一步的问题解决了!
解决原理:
- 先安装官方版,将原版的(或汉化版)缺失的文件补充上,原有的文件覆盖掉
- 然后安装汉化版,将官方版重复的文件覆盖掉,打开后还是汉化版的程序,且SetupLdr.e32文件也存在。
- 完美解决问题
让inno setup生成的安装程序拥有管理员权限,操作如下:
1. 下载安装Resource Hacker
此程序可以修改inno setup打包插件中的源码,修改部分代码来获取到管理员权限
下载链接:http://www.angusj.com/resourcehacker/
安装好之后右击下图位置以管理员身份运行:
或者从开始菜单如下操作:
2. 修改SetupLdr.e32
- 点击菜单的File找到open单击打开如下弹框,修改下图位置为All files
- 找到SetupLdr.e32文件,并打开
- 打开后逐步操作如下图:
- 找到上一步,步骤3那一行将"asInvoker"改为"requireAdministrator"
操作如下图:
- 找到菜单Action然后选择Modify
- 然后就可以点击如下图的保存按钮了
- 保存完后关闭程序重新打包就可以了