StartMenu.nsi 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. ;NSIS Modern User Interface
  2. ;Start Menu Folder Selection Example Script
  3. ;Written by Joost Verburg
  4. ;--------------------------------
  5. ;Include Modern UI
  6. !include "MUI2.nsh"
  7. ;--------------------------------
  8. ;General
  9. ;Name and file
  10. Name "Modern UI Test"
  11. OutFile "StartMenu.exe"
  12. ;Default installation folder
  13. InstallDir "$LOCALAPPDATA\Modern UI Test"
  14. ;Get installation folder from registry if available
  15. InstallDirRegKey HKCU "Software\Modern UI Test" ""
  16. ;Request application privileges for Windows Vista
  17. RequestExecutionLevel user
  18. ;--------------------------------
  19. ;Variables
  20. Var StartMenuFolder
  21. ;--------------------------------
  22. ;Interface Settings
  23. !define MUI_ABORTWARNING
  24. ;--------------------------------
  25. ;Pages
  26. !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
  27. !insertmacro MUI_PAGE_COMPONENTS
  28. !insertmacro MUI_PAGE_DIRECTORY
  29. ;Start Menu Folder Page Configuration
  30. !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
  31. !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Modern UI Test"
  32. !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
  33. !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
  34. !insertmacro MUI_PAGE_INSTFILES
  35. !insertmacro MUI_UNPAGE_CONFIRM
  36. !insertmacro MUI_UNPAGE_INSTFILES
  37. ;--------------------------------
  38. ;Languages
  39. !insertmacro MUI_LANGUAGE "English"
  40. ;--------------------------------
  41. ;Installer Sections
  42. Section "Dummy Section" SecDummy
  43. SetOutPath "$INSTDIR"
  44. ;ADD YOUR OWN FILES HERE...
  45. ;Store installation folder
  46. WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
  47. ;Create uninstaller
  48. WriteUninstaller "$INSTDIR\Uninstall.exe"
  49. !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  50. ;Create shortcuts
  51. CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
  52. CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
  53. !insertmacro MUI_STARTMENU_WRITE_END
  54. SectionEnd
  55. ;--------------------------------
  56. ;Descriptions
  57. ;Language strings
  58. LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
  59. ;Assign language strings to sections
  60. !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  61. !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
  62. !insertmacro MUI_FUNCTION_DESCRIPTION_END
  63. ;--------------------------------
  64. ;Uninstaller Section
  65. Section "Uninstall"
  66. ;ADD YOUR OWN FILES HERE...
  67. Delete "$INSTDIR\Uninstall.exe"
  68. RMDir "$INSTDIR"
  69. !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
  70. Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
  71. RMDir "$SMPROGRAMS\$StartMenuFolder"
  72. DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
  73. SectionEnd