| ; __________ __ ___. |
| ; 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" <ALL> |
| ; 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 |
| |