我已使用具有管理权限的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用户,而无需启动应用程序。
请提供正常用户所需的更改以显示开始菜单和系统托盘,请为我提供帮助。
答案 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
如果要在用户登录时启动应用程序,请在“启动”文件夹中创建快捷方式或“运行”注册表项。