; __________ __ ___. ; Open \______ \ ____ ____ | | _\_ |__ _______ ___ ; Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / ; Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < ; Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ ; \/ \/ \/ \/ \/ ; $Id$ ; ; Copyright (c) 2010 Dominik Riebeling ; ; All files in this archive are subject to the GNU General Public License. ; See the file COPYING in the source tree root for full license agreement. ; ; This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ; KIND, either express or implied. ; ; NSIS installer using Modern UI ; Expects a static build of the Theme Editor (Qt DLLs are not packaged) and to ; find the input files in the source tree (in-tree build). ; This installer uses the ZipDll plugin for font pack extraction ; (http://nsis.sourceforge.net/ZipDLL_plug-in) !include "MUI2.nsh" ;Name and file Name "Rockbox Theme Editor" OutFile "rbthemeeditor-setup.exe" ;Default installation folder InstallDir "$PROGRAMFILES\Rockbox Theme Editor" ; global registry shortcuts !define UNINSTALL_HIVE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rockbox Theme Editor" !define SETTINGS_HIVE "Software\rockbox.org\Rockbox Theme Editor" ;Get installation folder from registry if available InstallDirRegKey HKCU "${SETTINGS_HIVE}" "" SetCompressor /solid lzma VIAddVersionKey "ProductName" "Rockbox Theme Editor" VIAddVersionKey "FileVersion" "0.0.0" VIAddVersionKey "FileDescription" "Editor for the Rockbox Firmware Theme files" VIAddVersionKey "LegalCopyright" "Contributing Developers" VIProductVersion "0.0.0.0" !define MUI_ICON resources\windowicon.ico ; embed XP manifest XPStyle on ;Interface Configuration. Use Rockbox blue for header. !define MUI_BGCOLOR b6c6e5 !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "themeeditor-setup.bmp" !define MUI_HEADERIMAGE_RIGHT !define MUI_ABORTWARNING ;Pages !insertmacro MUI_PAGE_LICENSE "..\..\docs\COPYING" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;Languages !insertmacro MUI_LANGUAGE "English" ;Installer Sections Section "Theme Editor" SecThemeEditor SectionSetFlags ${SecThemeEditor} ${SF_RO} SectionIn RO SetOutPath "$INSTDIR" ; Store installation folder WriteRegStr HKCU "${SETTINGS_HIVE}" "" $INSTDIR ; files CreateDirectory "$INSTDIR" File /oname=$INSTDIR\rbthemeeditor.exe release\rbthemeeditor.exe ; Create uninstaller and uninstall information WriteUninstaller "$INSTDIR\Uninstall.exe" WriteRegStr HKLM "${UNINSTALL_HIVE}" "DisplayName" "Rockbox Theme Editor" WriteRegStr HKLM "${UNINSTALL_HIVE}" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" WriteRegStr HKLM "${UNINSTALL_HIVE}" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S" WriteRegStr HKLM "${UNINSTALL_HIVE}" "URLInfoAbout" "http://www.rockbox.org/wiki/ThemeEditor" SectionEnd Section "Download Fonts Package" SecFontsPackage SetOutPath "$INSTDIR" NSISdl::download http://download.rockbox.org/daily/fonts/rockbox-fonts.zip "$INSTDIR\rockbox-fonts.zip" ZipDLL::extractall "$INSTDIR\rockbox-fonts.zip" "$INSTDIR" "" ; the fonts package uses the Rockbox folder structure. Move all fonts into a ; flat directory instead. Rename "$INSTDIR\.rockbox\fonts" "$INSTDIR\fonts" RMDir /r "$INSTDIR\.rockbox" WriteRegStr HKCU "${SETTINGS_HIVE}\RBFont" "fontDir" "$INSTDIR\fonts\" SectionEnd Section "Start Menu Shortcut" SecShortCuts CreateDirectory "$SMPROGRAMS\Rockbox" CreateShortCut "$SMPROGRAMS\Rockbox\Theme Editor.lnk" "$INSTDIR\rbthemeeditor.exe" CreateShortCut "$SMPROGRAMS\Rockbox\Uninstall Theme Editor.lnk" "$INSTDIR\Uninstall.exe" SectionEnd ; Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecThemeEditor} \ "Rockbox Theme Editor. Required." !insertmacro MUI_DESCRIPTION_TEXT ${SecFontsPackage} \ "Download and install the Rockbox Fonts package into program folder. \ This will set the correct path in the program configuration for the current user only." !insertmacro MUI_DESCRIPTION_TEXT ${SecShortCuts} \ "Create Shortcut in Start Menu." !insertmacro MUI_FUNCTION_DESCRIPTION_END ; Uninstaller Section Section "Uninstall" ; files Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\rbthemeeditor.exe" Delete "$INSTDIR\rockbox-fonts.zip" ; folders RMDir /r "$INSTDIR\fonts" RMDir "$INSTDIR" ; start menu folder RMDir /r "$SMPROGRAMS\Rockbox" ; remove registry information DeleteRegKey HKLM "${UNINSTALL_HIVE}" DeleteRegKey HKCU "Software\rockbox.org\Rockbox Theme Editor" SectionEnd