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打包需要管理员权限的程序