2007-11-14 22:18:48 -05:00
; Script generated with the Venis Install Wizard & modified by defnax
; Define your application name
!define APPNAME "RetroShare"
2008-06-14 09:24:22 -04:00
!define VERSION "0.4.09a"
2007-11-14 22:18:48 -05:00
!define APPNAMEANDVERSION "${APPNAME} ${VERSION}"
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\RetroShare"
InstallDirRegKey HKLM "Software\${APPNAME}" ""
OutFile "RetroShare_${VERSION}_setup.exe"
BrandingText "${APPNAMEANDVERSION}"
; Use compression
SetCompressor LZMA
; Modern interface settings
2008-01-13 21:15:57 -05:00
!include Sections.nsh
2007-11-14 22:18:48 -05:00
!include "MUI.nsh"
2008-01-13 17:48:38 -05:00
;Interface Settings
2007-11-14 22:18:48 -05:00
!define MUI_ABORTWARNING
2008-01-13 17:48:38 -05:00
;!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "retroshare.bmp" ; optional
# MUI defines
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_LICENSEPAGE_RADIOBUTTONS
2007-11-14 22:18:48 -05:00
!define MUI_COMPONENTSPAGE_SMALLDESC
2008-01-13 17:48:38 -05:00
!define MUI_FINISHPAGE_LINK "Visit the RetroShare forum for the latest news and support"
!define MUI_FINISHPAGE_LINK_LOCATION "http://sourceforge.net/forum/forum.php?forum_id=618174"
2007-11-14 22:18:48 -05:00
!define MUI_FINISHPAGE_RUN "$INSTDIR\RetroShare.exe"
2008-01-13 17:48:38 -05:00
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY}
!define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage
2008-04-16 12:22:12 -04:00
2008-04-03 13:30:08 -04:00
; !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without havinf to reboot your computer. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
2008-04-16 12:22:12 -04:00
2008-04-03 13:30:08 -04:00
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of RetroShare. \r\n\r\nIMPORTANT: Ensure that RetroShare is NOT RUNNING before continuing (you can exit from the taskbar menu), otherwise the installer cannot update the executables, and the installation will fail. \r\n\r\nClick Next to continue. "
2008-01-13 17:48:38 -05:00
; Defines the un-/installer logo of RetroShare
2008-01-13 21:15:57 -05:00
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
2008-01-13 17:48:38 -05:00
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
; Set languages (first is default language)
!insertmacro MUI_RESERVEFILE_LANGDLL
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
;--------------------------------
;Configuration
2007-11-14 22:18:48 -05:00
2008-01-13 17:48:38 -05:00
;!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
LicenseLangString myLicenseData 1033 "license\license.txt"
LicenseLangString myLicenseData 1031 "license\license-GER.txt"
2008-02-29 09:33:38 -05:00
LicenseLangString myLicenseData 1055 "license\license-TR.txt"
2008-01-13 17:48:38 -05:00
LicenseData $(myLicenseData)
# Installer pages
2007-11-14 22:18:48 -05:00
!insertmacro MUI_PAGE_WELCOME
2008-01-13 17:48:38 -05:00
!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)"
2007-11-14 22:18:48 -05:00
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
2008-01-13 17:48:38 -05:00
# Installer languages
!insertmacro MUI_LANGUAGE English
!insertmacro MUI_LANGUAGE German
2008-02-29 09:33:38 -05:00
!insertmacro MUI_LANGUAGE Turkish
2008-01-13 17:48:38 -05:00
;Component-selection page
;Titles
LangString sec_main ${LANG_ENGLISH} "Program Files"
LangString sec_data ${LANG_ENGLISH} "Program Skins"
2008-03-05 12:47:24 -05:00
LangString sec_mplayer ${LANG_ENGLISH} "MPlayer Engine"
2008-01-13 17:48:38 -05:00
LangString sec_shortcuts ${LANG_ENGLISH} "Shortcuts"
LangString sec_link ${LANG_ENGLISH} "File Association"
LangString sec_autostart ${LANG_ENGLISH} "Auto Startup"
LangString DESC_sec_main ${LANG_ENGLISH} "Installs the RetroShare program files."
LangString DESC_sec_data ${LANG_ENGLISH} "Installs RetroShare Skins"
2008-03-05 12:47:24 -05:00
LangString DESC_sec_mplayer ${LANG_ENGLISH} "Insalls MPlayer required for ReroShare's SMPlayer"
2008-01-13 17:48:38 -05:00
LangString DESC_sec_shortcuts ${LANG_ENGLISH} "Create RetroShare shortcut icons."
LangString DESC_sec_link ${LANG_ENGLISH} "Associate RetroShare with .pqi file extension"
LangString DESC_sec_autostart ${LANG_ENGLISH} "Auto-Run and Login at Startup"
LangString LANGUAGEID ${LANG_ENGLISH} "1033"
LangString sec_main ${LANG_GERMAN} "Programmdateien"
2008-01-14 09:04:23 -05:00
LangString sec_data ${LANG_GERMAN} "Skins f<> r das Programm"
2008-03-05 12:47:24 -05:00
LangString sec_mplayer ${LANG_GERMAN} "MPlayer "
2008-01-13 17:48:38 -05:00
LangString sec_shortcuts ${LANG_GERMAN} "Shortcuts"
2008-01-14 09:04:23 -05:00
LangString sec_link ${LANG_GERMAN} "Dateiverkn<6B> pfungen"
LangString sec_autostart ${LANG_GERMAN} "Auto Startup"
2008-01-13 17:48:38 -05:00
LangString DESC_sec_main ${LANG_GERMAN} "Installiert die erforderlichen Programmdateien."
LangString DESC_sec_data ${LANG_GERMAN} "Installiert RetroShare Skins"
2008-03-05 12:47:24 -05:00
LangString DESC_sec_mplayer ${LANG_GERMAN} "Installiert MPlayer das f<> r SMPlayer erforderlich ist"
2008-01-14 16:39:01 -05:00
LangString DESC_sec_shortcuts ${LANG_GERMAN} "Erstellt eine RetroShare Verkn<6B> pfung im Startmen<65> , Desktop oder im Schnellstarter."
2008-01-14 09:04:23 -05:00
LangString DESC_sec_link ${LANG_GERMAN} "RetroShare mit .pqi Dateien verkn<6B> pfen"
LangString DESC_sec_autostart ${LANG_GERMAN} "Beim Neustart automatisch RetroShare starten und sich anmelden"
2008-01-13 17:48:38 -05:00
LangString LANGUAGEID ${LANG_GERMAN} "1031"
2008-02-29 09:33:38 -05:00
LangString sec_main ${LANG_TURKISH} "Program Dosyalar<61> "
LangString sec_data ${LANG_TURKISH} "Program Skinleri"
2008-03-05 12:47:24 -05:00
LangString sec_mplayer ${LANG_TURKISH} "MPlayer "
2008-02-29 09:33:38 -05:00
LangString sec_shortcuts ${LANG_TURKISH} "Shortcut'lar"
LangString sec_link ${LANG_TURKISH} ".pqi Dosya Kaydet"
LangString sec_autostart ${LANG_TURKISH} "Otomatik calistir ve baglan"
LangString DESC_sec_main ${LANG_TURKISH} "Program dosyalar<61> n<EFBFBD> kurar."
LangString DESC_sec_data ${LANG_TURKISH} "RetroShare Skin'leri kurar"
2008-03-05 12:47:24 -05:00
LangString DESC_sec_mplayer ${LANG_TURKISH} "Mplayer SMPlayer icin gereklidir"
2008-02-29 09:33:38 -05:00
LangString DESC_sec_shortcuts ${TURKISH} "Shortcut yap Start menu , Desktop veya Quicklaunchbar icin."
LangString DESC_sec_link ${LANG_TURKISH} "RetroShare .pqi almas<61> i<> in kaydettirir"
LangString DESC_sec_autostart ${LANG_TURKISH} "Isletim sistemi acildiginda Otomatik olarak calistir ve baglan"
LangString LANGUAGEID ${LANG_TURKISH} "1055"
2007-11-14 22:18:48 -05:00
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
2008-01-13 17:48:38 -05:00
Section $(sec_main) sec_main
2007-11-14 22:18:48 -05:00
2008-03-05 12:47:24 -05:00
;Set Section required
SectionIn RO
2007-11-14 22:18:48 -05:00
; Set Section properties
SetOverwrite on
; Clears previous error logs
Delete "$INSTDIR\*.log"
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\"
2008-03-05 12:47:24 -05:00
File /r "release\RetroShare.exe"
2008-04-03 13:30:08 -04:00
File /r "release\mingwm10.dll"
2008-03-05 12:47:24 -05:00
File /r "release\changelog.txt"
2007-11-14 22:18:48 -05:00
2008-01-13 17:48:38 -05:00
2007-11-14 22:18:48 -05:00
SectionEnd
2008-01-13 17:48:38 -05:00
Section $(sec_data) sec_data
2007-11-14 22:18:48 -05:00
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$APPDATA\RetroShare\"
2008-01-13 09:21:48 -05:00
;File /r "data\*"
2007-11-14 22:18:48 -05:00
2008-04-16 12:22:12 -04:00
; We're not ready for external skins...
2008-03-05 12:47:24 -05:00
; Set Section qss need to remove svn path
SetOutPath "$INSTDIR\qss\"
File /r release\qss\*.*
2007-11-14 22:18:48 -05:00
2008-03-31 19:05:00 -04:00
; Set Section emoticons need to remove svn path
2008-04-03 13:30:08 -04:00
; SetOutPath "$INSTDIR\emoticons\"
; File /r release\emoticons\*.*
2008-03-31 19:05:00 -04:00
2007-11-14 22:18:48 -05:00
; Set Section skin
; SetOutPath "$INSTDIR\skin\"
; File /r release\skin\*.*
2008-04-16 12:22:12 -04:00
2008-04-03 13:30:08 -04:00
; Add emoticons
SetOutPath "$INSTDIR\emoticons\kopete\"
File /r release\emoticons\kopete\*.*
2007-11-14 22:18:48 -05:00
2008-05-24 19:11:37 -04:00
; Add Chat Style
SetOutPath "$INSTDIR\style\"
File /r release\style\*.*
2007-11-14 22:18:48 -05:00
SectionEnd
2008-03-05 12:47:24 -05:00
Section $(sec_mplayer) sec_mplayer
;Set Section required
;SectionIn RO
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\mplayer"
2008-04-03 13:30:08 -04:00
File /r "mplayer\MPlayer-1.0rc2\*.*"
2008-03-05 12:47:24 -05:00
SectionEnd
2008-01-13 17:48:38 -05:00
Section $(sec_link) sec_link
2007-11-14 22:18:48 -05:00
; Delete any existing keys
; Write the file association
WriteRegStr HKCR .pqi "" retroshare
WriteRegStr HKCR retroshare "" "PQI File"
WriteRegBin HKCR retroshare EditFlags 00000100
WriteRegStr HKCR "retroshare\shell" "" open
WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\RetroShare.exe" "%1"`
2008-04-16 12:22:12 -04:00
2007-11-14 22:18:48 -05:00
SectionEnd
2008-01-13 17:48:38 -05:00
SectionGroup $(sec_shortcuts) sec_shortcuts
Section StartMenu SEC0001
2007-11-14 22:18:48 -05:00
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${APPNAME}"
2008-01-13 21:15:57 -05:00
CreateShortCut "$SMPROGRAMS\${APPNAME}\$(^UninstallLink).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
2007-11-14 22:18:48 -05:00
CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
2008-01-13 17:48:38 -05:00
Section Desktop SEC0002
2007-11-14 22:18:48 -05:00
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
2008-01-13 17:48:38 -05:00
Section Quicklaunchbar SEC0003
2008-01-13 09:21:48 -05:00
CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\RetroShare.exe" "" "$INSTDIR\RetroShare.exe" 0
SectionEnd
2008-01-13 17:48:38 -05:00
SectionGroupEnd
2008-01-13 09:21:48 -05:00
2008-01-13 17:48:38 -05:00
Section $(sec_autostart) sec_autostart
2007-11-14 22:18:48 -05:00
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun" "$INSTDIR\${APPNAME}.exe -a"
SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
2008-01-13 17:48:38 -05:00
;--------------------------------
;Descriptions
2007-11-14 22:18:48 -05:00
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
2008-01-13 17:48:38 -05:00
!insertmacro MUI_DESCRIPTION_TEXT ${sec_main} $(DESC_sec_main)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_data} $(DESC_sec_data)
2008-03-05 12:47:24 -05:00
!insertmacro MUI_DESCRIPTION_TEXT ${sec_mplayer} $(DESC_sec_mplayer)
2008-01-13 17:48:38 -05:00
!insertmacro MUI_DESCRIPTION_TEXT ${sec_shortcuts} $(DESC_sec_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_link} $(DESC_sec_link)
!insertmacro MUI_DESCRIPTION_TEXT ${sec_autostart} $(DESC_sec_autostart)
2007-11-14 22:18:48 -05:00
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section "Uninstall"
; Remove file association registry keys
DeleteRegKey HKCR .pqi
DeleteRegKey HKCR retroshare
; Remove program/uninstall regsitry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
DeleteRegKey HKLM SOFTWARE\${APPNAME}
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroRun"
; Remove files and uninstaller
Delete $INSTDIR\RetroShare.exe
Delete $INSTDIR\*.dll
Delete $INSTDIR\*.dat
Delete $INSTDIR\*.txt
Delete $INSTDIR\*.ini
Delete $INSTDIR\*.log
Delete $INSTDIR\uninstall.exe
; Remove the kadc.ini file.
; Don't remove the directory, otherwise
; we lose the XPGP keys.
; Should make this an option though...
Delete $APPDATA\RetroShare\kadc.ini
; Remove shortcuts, if any
Delete "$SMPROGRAMS\${APPNAME}\*.*"
2008-01-13 09:51:53 -05:00
; Remove desktop shortcut
2007-11-14 22:18:48 -05:00
Delete "$DESKTOP\${APPNAME}.lnk"
2008-01-13 09:51:53 -05:00
; Remove Quicklaunch shortcut
Delete "$QUICKLAUNCH\${APPNAME}.lnk"
2007-11-14 22:18:48 -05:00
; Remove directories used
RMDir "$SMPROGRAMS\${APPNAME}"
RMDir "$INSTDIR"
2008-03-05 12:47:24 -05:00
RMDir "$INSTDIR\mplayer"
RMDir "$INSTDIR\smplayer"
RMDir "$INSTDIR\qss"
2007-11-14 22:18:48 -05:00
SectionEnd
Function .onInit
2008-01-13 17:48:38 -05:00
InitPluginsDir
Push $R1
2008-01-13 21:15:57 -05:00
File /oname=$PLUGINSDIR\spltmp.bmp "gui\images\splash.bmp"
2008-01-13 17:48:38 -05:00
advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp
Pop $R1
Pop $R1
!insertmacro MUI_LANGDLL_DISPLAY
2007-11-14 22:18:48 -05:00
2008-02-29 09:33:38 -05:00
2007-11-14 22:18:48 -05:00
FunctionEnd
2008-01-13 21:15:57 -05:00
# Installer Language Strings
# TODO Update the Language Strings with the appropriate translations.
2007-11-14 22:18:48 -05:00
2008-01-13 21:15:57 -05:00
LangString ^UninstallLink ${LANG_ENGLISH} "Uninstall"
LangString ^UninstallLink ${LANG_GERMAN} "Deinstallieren"
2008-02-29 09:33:38 -05:00
LangString ^UninstallLink ${LANG_TURKISH} "Kald<6C> r"
2007-11-14 22:18:48 -05:00
; eof