StartMenu.nsi 2.6 KB

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