Warning, /multimedia/amarok/release_scripts/windows/amarok.nsi is written in an unsupported language. File is not indexed.

0001  /****************************************************************************************
0002  * Copyright (c) 2012 Patrick von Reth <vonreth@kde.org>                                *
0003  *                                                                                      *
0004  * This program is free software; you can redistribute it and/or modify it under        *
0005  * the terms of the GNU General Public License as published by the Free Software        *
0006  * Foundation; either version 2 of the License, or (at your option) any later           *
0007  * version.                                                                             *
0008  *                                                                                      *
0009  * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
0010  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
0011  * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
0012  *                                                                                      *
0013  * You should have received a copy of the GNU General Public License along with         *
0014  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
0015  ****************************************************************************************/
0016  
0017 /*
0018 This script requires the Unicode NSIS framework http://www.scratchpaper.com/
0019 You will also need to install http://nsis.sourceforge.net/Nsis7z_plug-in
0020 */
0021 ; registry stuff
0022 !define regkey "Software\${company}\Amarok"
0023 !define uninstkey "Software\Microsoft\Windows\CurrentVersion\Uninstall\Amarok"
0024  
0025 !define startmenu "$SMPROGRAMS\Amarok"
0026 !define uninstaller "uninstall.exe"
0027  
0028  Var StartMenuFolder
0029  
0030 !define MUI_LANGDLL_ALLLANGUAGES
0031 !define MUI_ICON "amarok.ico"
0032 !define PRODUCT_WEB_SITE http://amarok.kde.org/
0033 
0034 ;save language
0035 !define MUI_LANGDLL_REGISTRY_ROOT "HKLM" 
0036 !define MUI_LANGDLL_REGISTRY_KEY "${regkey}"
0037 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
0038 
0039 ;Start Menu Folder Page Configuration
0040 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" 
0041 !define MUI_STARTMENUPAGE_REGISTRY_KEY "${regkey}" 
0042 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
0043 ;--------------------------------
0044 Unicode true
0045 XPStyle on
0046 ShowInstDetails hide
0047 ShowUninstDetails hide
0048 
0049 SetCompressor /SOLID lzma
0050 
0051 
0052 Name "${productname}"
0053 Caption "${productname}"
0054  
0055 OutFile "${setupname}"
0056  
0057 !include "MUI2.nsh"
0058 ; all required LangStrings
0059 !include "amarok_translation.nsh"
0060 ; a list of all supported language packages
0061 !include "languages.nsh"
0062 
0063 SetDateSave on
0064 SetDatablockOptimize on
0065 CRCCheck on
0066 SilentInstall normal
0067  
0068 InstallDir "$PROGRAMFILES\Amarok"
0069 InstallDirRegKey HKLM "${regkey}" ""
0070  
0071 ;--------------------------------
0072  
0073 AutoCloseWindow false
0074 ShowInstDetails hide
0075 
0076 
0077 !insertmacro MUI_PAGE_WELCOME
0078 !define MUI_PAGE_HEADER_TEXT $(PAGE_LICENSE_HEADER_TEXT)
0079 !define MUI_PAGE_HEADER_SUBTEXT $(PAGE_LICENSE_SUBTEXT)
0080 !define MUI_LICENSEPAGE_TEXT_BOTTOM " "
0081 !define MUI_LICENSEPAGE_BUTTON $(^NextBtn)
0082 !insertmacro MUI_PAGE_LICENSE "..\..\COPYING"
0083 !insertmacro MUI_PAGE_DIRECTORY 
0084 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
0085 !define MUI_COMPONENTSPAGE_NODESC
0086 !insertmacro MUI_PAGE_COMPONENTS
0087 !insertmacro MUI_PAGE_INSTFILES
0088 !define MUI_FINISHPAGE_LINK "$(VISIT_PROJECT_HOMEPAGE)"
0089 !define MUI_FINISHPAGE_LINK_LOCATION "${PRODUCT_WEB_SITE}"
0090 !define MUI_FINISHPAGE_RUN "$INSTDIR\bin\amarok.exe"
0091 !insertmacro MUI_PAGE_FINISH
0092 
0093 
0094 !insertmacro MUI_UNPAGE_WELCOME
0095 !insertmacro MUI_UNPAGE_CONFIRM
0096 !insertmacro MUI_UNPAGE_INSTFILES
0097 !insertmacro MUI_UNPAGE_FINISH
0098  
0099  
0100 
0101 Section "Amarok" SECTION_AMAROK
0102     SectionIn RO
0103     SetOutPath $INSTDIR
0104     SetShellVarContext all
0105     
0106     ExecWait '"$INSTDIR\bin\kdeinit4.exe" "--terminate"'
0107     WriteRegStr HKLM "${regkey}" "Install_Dir" "$INSTDIR"
0108     WriteRegStr HKLM "${regkey}" "Version" "${version}"
0109     WriteRegStr HKLM "${regkey}" "" "$INSTDIR\bin\amarok.exe"
0110     
0111     WriteRegStr HKLM "${uninstkey}" "DisplayName" "Amarok (remove only)"
0112     WriteRegStr HKLM "${uninstkey}" "DisplayIcon" "$INSTDIR\${MUI_ICON}"
0113     WriteRegStr HKLM "${uninstkey}" "DisplayVersion" "${version}"
0114     WriteRegStr HKLM "${uninstkey}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
0115     WriteRegStr HKLM "${uninstkey}" "UninstallString" '"$INSTDIR\${uninstaller}"'
0116     WriteRegStr HKLM "${uninstkey}" "Publisher" "${company}"
0117 
0118     ; package all files, recursively, preserving attributes
0119     ; assume files are in the correct places
0120 
0121     File /a /r /x "*.nsi" /x "${setupname}" "${srcdir}\*.*"
0122     File ${MUI_ICON}
0123     File "/oname=$INSTDIR\bin\kde.conf" "kde.conf"
0124 
0125     WriteUninstaller "${uninstaller}"
0126 
0127     ;Create shortcuts
0128     !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
0129         CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
0130         CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Amarok.lnk" "$INSTDIR\bin\Amarok.exe"
0131         CreateShortCut "$SMPROGRAMS\$StartMenuFolder\$(APPEARANCE_SETTINGS).lnk" "$INSTDIR\bin\kcmshell4.exe" "style" "$INSTDIR\bin\systemsettings.exe"
0132         CreateShortCut "$SMPROGRAMS\$StartMenuFolder\$(LANGUAGE_SETTINGS).lnk" "$INSTDIR\bin\kcmshell4.exe" "language" "$INSTDIR\bin\systemsettings.exe"
0133         CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\uninstall.exe"      
0134     !insertmacro MUI_STARTMENU_WRITE_END
0135 SectionEnd
0136 
0137 Section /o $(SECTION_SNORE) SECTION_SNORE
0138     !insertmacro KDE_FETCH_AND_EXTRACT "http://winkde.org/~pvonreth/downloads/Amarok/${version}/" "snorenotify-${architecture}-0.3.7z" "Installing Snore..."
0139     !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
0140         CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Snorenotify.lnk" "$INSTDIR\bin\snorenotify.exe"
0141     !insertmacro MUI_STARTMENU_WRITE_END
0142 SectionEnd
0143 
0144 !insertmacro KDE_LANGUAGE_PACKAGES
0145 
0146 Section
0147     ExecWait '"$INSTDIR\bin\update-mime-database.exe" "$INSTDIR\share\mime"'
0148     ExecWait '"$INSTDIR\bin\kbuildsycoca4.exe" "--noincremental"'
0149 SectionEnd
0150 
0151 ; Uninstaller
0152 ; All section names prefixed by "Un" will be in the uninstaller
0153  
0154 Section "Uninstall"
0155     SetShellVarContext all
0156     ExecWait '"$INSTDIR\bin\kdeinit4.exe" "--terminate"'
0157 
0158     DeleteRegKey HKLM "${uninstkey}"
0159     DeleteRegKey HKLM "${regkey}"
0160 
0161     !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
0162 
0163     RMDir /r "$SMPROGRAMS\$StartMenuFolder"
0164     RMDir /r "$INSTDIR"
0165 SectionEnd
0166 
0167 
0168 
0169 ;initialize the translations
0170 !insertmacro AMAROK_TRANSLATIONS
0171 
0172 
0173 ;installer Fcuntion
0174 Function .onInit
0175 
0176     !insertmacro MUI_LANGDLL_DISPLAY
0177     !insertmacro INIT_KDE "amarok"
0178 
0179     
0180     ReadRegStr $R0 HKLM "${uninstkey}" "UninstallString"
0181     StrCmp $R0 "" done
0182     ReadRegStr $INSTDIR HKLM "${regkey}" "Install_Dir"
0183     ;Run the uninstaller
0184     ;uninst:
0185     ClearErrors
0186     ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
0187     done:
0188 FunctionEnd
0189 
0190 ; Uninstaller Functions
0191 
0192 Function un.onInit
0193 
0194     !insertmacro MUI_UNGETLANGUAGE
0195   
0196 FunctionEnd
0197 
0198   
0199  
0200 
0201 
0202