133 lines
4.9 KiB
Text
133 lines
4.9 KiB
Text
|
; __________ __ ___.
|
||
|
; 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
|
||
|
|