Function "${SETSTARTMENU}"
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
ReadRegStr ${MUI_TEMP1} HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder"
StrCmp "${MUI_TEMP1}" "" +4
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENU_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_TEMP1}"
goto donestart
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENU_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENU_DEFAULTFOLDER}"
donestart:
Pop "${MUI_STARTMENU_VARIABLE}"
FunctionEnd Setting Default Start Menu Folder From Registry
Just a note for people who wish to read in the value of the selected start menu folder from previous installs and maybe a suggestions for the Modern UI folks, I've changed Function {$SETSTARTMENU} in Contrib/Modern UI/System.nsh to the following: