inno setup打包运行后报错:Unable to execute file:xxx CreateProcess failed;code 740. 请求的操作需要提升

写在前边

此文章涉及的文件
inno setup 6.2.2 (官方版)
inno setup v6.0.4(汉化版)
获取途径
加入群聊:431615454
或关注公众号:python编程自留地–输入关键词2305311758

问题的出现原因:

打包的主执行程序需要管理员权限,而inno setup打包出来的安装向导程序默认是没有获取到管理员权限的,所以报错,请求操作需要提升

解决方案

注意:解决方案前的检查
打开inno setup安装目录检查是否有如下SetupLdr.e32文件(有的话直接跳过下边五步解决思路)
在这里插入图片描述
如果没有,说明你可能是在电脑管家或360商店下的汉化版本(有些文件被删除掉了,当然有解决办法)
解决思路:

  1. 去官网找官方版本,然后下载安装到现在汉化版的文件夹中(原来汉化版可以不卸载)
  2. 安装完成后查看inno setup 6文件夹是已否有SetupLdr.e32文件(不出意外的话肯定有)
  3. 当然,此时无SetupLdr.e32文件的问题已经解决了,但是打开inno setup发现,汉化没了(肯定,因为是官方版本嘛)
  4. 还原汉化版本,就是找到原来的inno setup汉化版,再次安装(注意,这次安装一定选到官方版的安装目录)
  5. 打开inno setup 发现还是汉化,并且inno setup 文件夹下SetupLdr.e32文件也存在,问题完美解决,可以进行下一步的问题解决了!

解决原理:

  1. 先安装官方版,将原版的(或汉化版)缺失的文件补充上,原有的文件覆盖掉
  2. 然后安装汉化版,将官方版重复的文件覆盖掉,打开后还是汉化版的程序,且SetupLdr.e32文件也存在。
  3. 完美解决问题

让inno setup生成的安装程序拥有管理员权限,操作如下:

1. 下载安装Resource Hacker

此程序可以修改inno setup打包插件中的源码,修改部分代码来获取到管理员权限
下载链接:http://www.angusj.com/resourcehacker/

安装好之后右击下图位置以管理员身份运行
在这里插入图片描述
或者从开始菜单如下操作:
在这里插入图片描述

2. 修改SetupLdr.e32

  1. 点击菜单的File找到open单击打开如下弹框,修改下图位置为All files
    在这里插入图片描述
  2. 找到SetupLdr.e32文件,并打开
    在这里插入图片描述
  3. 打开后逐步操作如下图:
    在这里插入图片描述
  4. 找到上一步,步骤3那一行将"asInvoker"改为"requireAdministrator"
    操作如下图:
    在这里插入图片描述
  5. 找到菜单Action然后选择Modify
    在这里插入图片描述
  6. 然后就可以点击如下图的保存按钮了
    在这里插入图片描述
  7. 保存完后关闭程序重新打包就可以了

猜你喜欢

转载自blog.csdn.net/qq_53891711/article/details/130972749