【发布时间】:2011-07-29 16:50:21
【问题描述】:
我的安装只需要用户权限,但此安装应删除以前的文件或调用卸载程序(如果存在)
NSIS 有没有办法以管理员身份运行一项操作(DeleteFile、RunExe)?
【问题讨论】:
-
如果安装只需要用户权限,怎么卸载需要管理员权限?
我的安装只需要用户权限,但此安装应删除以前的文件或调用卸载程序(如果存在)
NSIS 有没有办法以管理员身份运行一项操作(DeleteFile、RunExe)?
【问题讨论】:
提升是每个进程的,一旦提升就无法返回。
您应该创建一个小助手 nsis 应用程序来执行您所需的操作(仅 RequestExecutionLevel admin 是不够的,您还需要使用 UserInfo::GetAccountType)使用带有 runas 动词的 ShellExecute 来启动提升的进程。
【讨论】: