如何解决Windows 11中NSIS创建开始菜单快捷方式不显示的问题?
在Windows 11中用NSIS添加开始菜单快捷方式的解决方案
Windows 11对开始菜单的快捷方式识别逻辑和旧版本不同,仅将快捷方式放入$SMPROGRAMS对应私有目录(AppData\Roaming\Microsoft\Windows\Start Menu\Programs)时,系统不会自动将其显示在开始菜单主列表中,可通过以下两种方式解决:
方案1:使用公共开始菜单目录(推荐)
将快捷方式创建到公共开始菜单目录$SMCOMMONPROGRAMS(对应路径ProgramData\Microsoft\Windows\Start Menu\Programs),Windows 11会自动识别并在开始菜单中显示该快捷方式,且所有用户都能看到。修改后的代码如下:
Section /o "Start Menu Shortcut" CreateShortcut "$SMCOMMONPROGRAMS\${APPNAME}.lnk" "$INSTDIR\${APPNAME}.exe" "" "$INSTDIR\${ICON}" SectionEnd
方案2:刷新开始菜单索引(针对单用户场景)
如果需要将快捷方式保留在当前用户的私有目录,可在创建快捷方式后执行系统命令刷新开始菜单缓存,强制系统重新扫描目录并加载新快捷方式:
Section /o "Start Menu Shortcut" CreateShortcut "$SMPROGRAMS\${APPNAME}.lnk" "$INSTDIR\${APPNAME}.exe" "" "$INSTDIR\${ICON}" ; 执行刷新命令,让系统识别新快捷方式 ExecWait '"$WINDIR\system32\ie4uinit.exe" -show' SectionEnd
内容的提问来源于stack exchange,提问作者seenorth
相关产品推荐
相关产品推荐

