inno setup 打包使用超级管理员权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了inno setup 打包使用超级管理员权限相关的知识,希望对你有一定的参考价值。

参考技术A 首先在iss文件中做如下操作
在 [Setup]段
PrivilegesRequired=admin

然后
找到INNO安装目录下的SetupLdr.e32文件,将程序中的Manifest更改一下(用reshacker这类工具改),这样运行程序的时候,Windows Vista / windows 7就会自动提示需要管理员权限:
<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>
改为
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>

这样运行时提示需要安装员权限。

以后所有被编译出的安装程序都会自都要求管理员权限。

Inno SetupCreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)(转)

原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html

http://blog.csdn.net/x356982611/article/details/50386824/

 

1、问题描述

Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框。

                

这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图直接运行。解决方案:为安装包添加管理员权限。

2、添加管理员权限

(1) 在.iss文件的[Setup]节点添加 PrivilegesRequired=admin

(2) 进入安装目录,找到文件SetupLdr.e32,这是一个二进制配置文件,需要用ResourceHacker.exe这个工具修改

   找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,

     修改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>

(3) 修改资源后别忘了编译一下,然后保存修改后的文件,并替换原来的SetupLdr.e32文件

3、删除管理员权限

(1) 在[Setup]节点添加 PrivilegesRequired=none 或者 PrivilegesRequired=lowest

(2) 在[Setup]节点修改 DefaultDirName(安装路径)的值,默认可能是DefaultDirName={pf}\\{#MyAppName},

  不要带{pf}, {win}, {sys}这些变量值,比如设置成DefaultDirName={localappdata}\\{#MyAppName}

 

以上是关于inno setup 打包使用超级管理员权限的主要内容,如果未能解决你的问题,请参考以下文章

Inno SetupCreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)(转)

Inno Setup Compiler打包需要管理员权限的程序

Inno Setup:无需管理员权限即可卸载

destoon 给超级管理员系统权限(管理员管理,日志管理等)

inno setup打包工具的使用问题?

仅在需要时使 Inno Setup 安装程序请求权限提升