我需要创建一个以管理员权限运行的 NSIS 安装程序。我请求这些特权
RequestExecutionLevel admin
到目前为止,这有效。但我还需要在用户桌面上放置快捷方式链接。我不想为所有用户创建快捷方式,而只想为当前登录的用户创建快捷方式。所以我用
SetShellVarContext current
在安装程序部分。如果当前用户具有管理员权限,则此方法有效。如果我有一个普通用户,Windows (7) 会要求特权用户的凭据,这也是正确的。但安装程序随后会在特权用户桌面上创建图标,而不是在当前用户上。
那么,我如何告诉 NSIS,如果当前用户没有管理员权限,它应该为当前用户创建桌面图标?
仅供参考,如果我同时省略 RequestExecutionLevel 和 SetShellVarContext,我还会提示我提供管理权限,但安装程序会在当前用户桌面以及管理员用户上创建图标。我认为这是某种兼容性行为。