描述
在win11系统安装用InnoSetup封装的程序,安装完成运行程序时,不是无法运行就是运行后闪退,涉及执行权限不够,因为默认安装的目录在C:Program Files(x86)下,正常安装进去是没有足够权限运行,会报错导致无法运行。
解决办法
方法1:修改Inno Setup创建出来的iss内的代码
启动Inno Setup进行编译时,输入相关编译基础信息后,会根据输入的相关内容自动生成编译脚本,在脚本中加入以下2行脚本内容:
[Dirs]
Name: {app}; Permissions: users-full
因为默认生成的脚本是没有[Dirs]这个字段的,增加这两行脚本后,打包的程序的安装目录拥有完全控制的权限。
方法2:修改SetupLdr.e32下的配置文件
使用Resource Hacker 修改 INNO安装目录下的SetupLdr.e32文件中的Manifest内容
修改SetupLdr.e32第24行内容:
原文:<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
修改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
注意编译后保存!!!