对于其他用户(非管理员用户),开始菜单/系统托盘中未显示已安装的NSIS应用程序

时间:2019-03-12 09:49:23

标签: nsis

我已使用具有管理权限的NSIS安装了一个应用程序。然后切换到普通用户(无管理权限)以启动该应用程序。但是在这里我没有看到开始菜单和系统托盘。

以下是我使用的代码段:

RequestExecutionLevel admin

; To show the system tray notification 

ExecShell "" "$INSTDIR\notification.exe"

; To show the installer icon at the start menu

createDirectory "$SMPROGRAMS\${COMPANYNAME}"
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\Myapp.exe" "" "$INSTDIR\ProductIcon.ico"

我仅在安装安装程序时需要检查Admin用户,而无需启动应用程序。

请提供正常用户所需的更改以显示开始菜单和系统托盘,请为我提供帮助。

1 个答案:

答案 0 :(得分:0)

使用SetShellVarContext将常量切换为“所有用户” /机器模式:

RequestExecutionLevel Admin

Function .onInit
SetShellVarContext All
FunctionEnd

Section
CreateShortcut "$SMPrograms\Test.lnk" "$SysDir\Notepad.exe" ; Created in the shared startmenu folder
SectionEnd

如果要在用户登录时启动应用程序,请在“启动”文件夹中创建快捷方式或“运行”注册表项。