使 Inno Setup 打包出的安装程序以管理员身份运行

在最新的 6.2 版本中,已经不需要这么麻烦了,直接在脚本中的 [Setup] 区域增加设置属性即可,如:

[Setup]
; 以管理员身份运行 PrivilegesRequired
=admin

另外在安装最后,如果设置了需要选择是否运行某个程序(即,使用了 postinstall 选项)

当用户勾选了运行,Inno Setup 会默认以当前用户的权限进行运行

若当前用户不是管理员,而此程序又需要管理员权限,则会因权限不足报错。

如果已设置 PrivilegesRequired=admin,则可以在此处增加 runascurrentuser 选项

则运行时会保持与安装程序使用相同的用户权限(即,管理员权限)。

如:

[Run]
; 安装完成后运行 Filename: "
{app}\{#MyAppExeName}"; Description: "立即运行“{#MyAppName}”"; Flags: nowait postinstall skipifsilent runascurrentuser

 

↓↓↓↓↓↓以下是针对 5.x 版本的说明,目前已不再需要。↓↓↓↓↓↓


 

找到 Inno Setup 安装目录下的 SetupLdr.e32 文件,用 Resource Hacker 将其中的 Manifest 修改一下:

改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

如图:

image

再重新编译生成的安装包,就都是以管理员身份运行了~

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

 

顺便记录下 Resource Hacker 的下载地址:

原版:http://www.angusj.com/resourcehacker/
汉化:http://bbs.kafan.cn/thread-1826109-1-1.html

posted @   不是豆豆  阅读(5516)  评论(1编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 易语言 —— 开山篇
历史上的今天:
2014-03-24 无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序。。。。。。
友情链接:迷途


点击右上角即可分享
微信分享提示