如何检查NSIS中是否存在startmenu?

如何检查NSIS中是否存在startmenu?,nsis,Nsis,我使用以下代码创建了快捷菜单文件夹。在我的脚本中包含修复选项。 如果用户安装第二次修复选项正常。第二次用户选择与现有快捷菜单不同的快捷菜单。在这种情况下,将创建两个快捷菜单目录 CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" 那么如果用户第二次安装需要检查快捷菜单是否存在 如何

我使用以下代码创建了快捷菜单文件夹。在我的脚本中包含修复选项。 如果用户安装第二次修复选项正常。第二次用户选择与现有快捷菜单不同的快捷菜单。在这种情况下,将创建两个快捷菜单目录

 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
那么如果用户第二次安装需要检查快捷菜单是否存在


如何检查快捷菜单是否存在?

我不太明白这个问题,也不知道这个修复功能是什么,但您可以检查是否存在带有
iFileExists的文件/文件夹

我怀疑真正的问题在于再次运行安装程序时$StartMenuFolder变量没有恢复。如果您正在使用MUI,它有宏可以帮助您完成此操作,如果没有,您需要在安装期间将$StartMenuFolder写入注册表或.ini文件,并尝试在.onInit中还原它