nsis 打包的exe文件在vista中提示用户帐户控制

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:37:21

使用这个命令:RequestExecutionLevel
可取的值有:none|user|highest|admin

以下是详细说明:

指定在 Windows Vista 下安装程序需要的执行级别。设定的级别值将被内嵌到安装/卸载程序的 XML Manfest 中,告诉 Vista(或以后其他合适版本的 Windows)安装程序需要什么样的权限级别来执行。user 只要求普通用户权限级别(不需要管理员组权限)。highest 要求当前用户可用的最高权限级别,Windows 可能会提示输入用户密码来核实权限提升。admin 要求管理员权限级别,同时 Windows 也会提示用户。设定为 none (缺省值),将会保持 manifest 为空并由Windows来判断执行级别。Windows Vista 能自动识别 NSIS 安装程序并要求管理员权限来执行。因此,none 和 admin 实际上具有相同效果。

建议使用 RequestExecutionLevel,至少微软要求所有应用程序都应标明执行级别。未标明级别的安装程序将运行于兼容模式,(兼容模式下执行环境所在的)当前用户“开始菜单”文件夹中该程序的快捷方式会被自动转移到所有用户“开始菜单”文件夹中。 如果你的安装程序不需要向系统目录安装文件或向注册表 HKLM 主键下写入键值,那么应该指定为 user 执行级别。

使用这个命令的前提是 NSIS 版本要新,然后你再试试看行不行。

VISTA有UAC机制,这个没有办法的,

除非把UAC关闭