@ -17,9 +17,18 @@ COMMAND LINE OPTIONS (case sensitive):
!include MUI2.nsh
!include MUI2.nsh
!include x64.nsh
; ----------------------------------------
; ----------------------------------------
; GENERAL
; GENERAL
VIProductVersion "@REPL_VERSION@.0.0"
VIAddVersionKey "ProductName" "YaCy"
VIAddVersionKey "LegalCopyright" "YaCy"
VIAddVersionKey "FileVersion" "@REPL_VERSION@"
VIAddVersionKey "FileDescription" "YaCy"
VIAddVersionKey "OriginalFilename" "yacy_v@REPL_VERSION@_@REPL_DATE@_@REPL_REVISION_NR@.exe"
Name "YaCy @REPL_VERSION@"
Name "YaCy @REPL_VERSION@"
OutFile "RELEASE\WINDOWS\yacy_v@REPL_VERSION@_@REPL_DATE@_@REPL_REVISION_NR@.exe"
OutFile "RELEASE\WINDOWS\yacy_v@REPL_VERSION@_@REPL_DATE@_@REPL_REVISION_NR@.exe"
@ -35,13 +44,17 @@ SetCompressor /SOLID LZMA
; ----------------------------------------
; ----------------------------------------
; JAVA VERSION
; JAVA VERSION
; http://www.java.com/de/download/manual.jsp BundleId +1 / +2
!define JRE_VERSION6 "1.6"
!define JRE_VERSION6 "1.6"
!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=26224" ;jre-6u11-windows-i586-p.exe
!define JRE_32 "http://javadl.sun.com/webapps/download/AutoDL?BundleId=27984" ;jre-6u12-windows-i586-p.exe
!define JRE_64 "http://javadl.sun.com/webapps/download/AutoDL?BundleId=27985" ; jre-6u12-windows-x64-p.exe
; ----------------------------------------
; ----------------------------------------
; GENERAL APPEARANCE
; GENERAL APPEARANCE
BrandingText "yacy.net"
!define MUI_ICON "RELEASE\MAIN\addon\YaCy.ico"
!define MUI_ICON "RELEASE\MAIN\addon\YaCy.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
@ -83,58 +96,18 @@ ComponentText "YaCy v@REPL_VERSION@ (Build @REPL_DATE@)"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SpanishInternational"
LangString stillRunning ${LANG_ENGLISH} "YaCy is still active. Please stop YaCy first."
!insertmacro MUI_LANGUAGE "SimpChinese"
LangString keepData 0 "Do you want to keep the data?"
!insertmacro MUI_LANGUAGE "TradChinese"
LangString noAdminForJava 0 "You need Administrator privileges to install Java. It will now be downloaded to the shared documents folder. YaCy won't run without Java."
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
LangString stillRunning ${LANG_FRENCH} "YaCy is still active. Please stop YaCy first."
!insertmacro MUI_LANGUAGE "Italian"
LangString keepData 0 "Do you want to keep the data?"
!insertmacro MUI_LANGUAGE "Dutch"
LangString noAdminForJava 0 "You need Administrator privileges to install Java. It will now be downloaded to the shared documents folder. YaCy won't run without Java."
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Swedish"
LangString stillRunning ${LANG_GERMAN} "YaCy ist noch aktiv. Bitte beenden Sie YaCy."
!insertmacro MUI_LANGUAGE "Norwegian"
LangString keepData 0 "Moechten Sie die Daten behalten?"
!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
LangString noAdminForJava 0 "Sie benoetigen Administrator-Rechte um Java zu installieren. Es wird nun in 'Gemeinsame Dokumente' gespeichert. YaCy benoetigt Java zur Ausfuehrung."
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Estonian"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "SerbianLatin"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Breton"
!insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Icelandic"
!insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Kurdish"
!insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_LANGUAGE "Uzbek"
!insertmacro MUI_LANGUAGE "Galician"
!insertmacro MUI_LANGUAGE "Afrikaans"
!insertmacro MUI_LANGUAGE "Catalan"
; ----------------------------------------
; ----------------------------------------
; INSTALLABLE MODULES
; INSTALLABLE MODULES
@ -162,8 +135,8 @@ Section "YaCy"
WriteUninstaller "uninstall.exe"
WriteUninstaller "uninstall.exe"
SectionEnd
SectionEnd
Section "Java"
Section "Sun Java"
SectionIn 1 RO
SectionIn 1
SetShellVarContext current
SetShellVarContext current
Call DetectJRE
Call DetectJRE
SectionEnd
SectionEnd
@ -194,10 +167,11 @@ SectionEnd
; UNINSTALLER
; UNINSTALLER
Section "Uninstall"
Section "Uninstall"
IfFileExists "$INSTDIR\DATA\yacy.running" 0 +3
IfFileExists "$INSTDIR\DATA\yacy.running" 0 uninstall
MessageBox MB_ICONSTOP "YaCy is still running. Please stop YaCy first. " /SD IDOK
MessageBox MB_ICONSTOP "$(stillRunning) " /SD IDOK
Goto nouninstall
Goto nouninstall
uninstall:
SetShellVarContext current
SetShellVarContext current
RMDir /r "$INSTDIR\addon"
RMDir /r "$INSTDIR\addon"
@ -213,7 +187,7 @@ Section "Uninstall"
RMDir /r "$INSTDIR\source"
RMDir /r "$INSTDIR\source"
Delete "$INSTDIR\*.*"
Delete "$INSTDIR\*.*"
MessageBox MB_YESNO|MB_ICONQUESTION "Keep the data? " /SD IDYES IDYES keepdata
MessageBox MB_YESNO|MB_ICONQUESTION "$(keepData) " /SD IDYES IDYES keepdata
;delete all
;delete all
RMDir /r "$INSTDIR"
RMDir /r "$INSTDIR"
@ -233,24 +207,29 @@ SectionEnd
Function GetJRE
Function GetJRE
; based on http://nsis.sourceforge.net/Simple_Java_Runtime_Download_Script
; based on http://nsis.sourceforge.net/Simple_Java_Runtime_Download_Script
${If} ${RunningX64}
StrCpy $3 ${JRE_64}
${Else}
StrCpy $3 ${JRE_32}
${EndIf}
userInfo::getAccountType
userInfo::getAccountType
Pop $0
Pop $0
StrCmp $0 "Admin" +3
StrCmp $0 "Admin" download
MessageBox MB_ICONEXCLAMATION "You need Administrator privileges to install Java. \
MessageBox MB_ICONEXCLAMATION "$(noAdminForJava)" /SD IDOK
It will now be downloaded to the shared documents folder. \
download:
YaCy won't run without Java." /SD IDOK
SetShellVarContext all
SetShellVarContext all
StrCpy $2 "$DOCUMENTS\Java Runtime Environment (install for YaCy).exe"
StrCpy $2 "$DOCUMENTS\Java Runtime (install for YaCy).exe"
SetShellVarContext current
SetShellVarContext current
nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2
nsisdl::download /TIMEOUT=30000 $3 $2
Pop $R0 ;Get the return value
Pop $R0 ;Get the return value
StrCmp $R0 "success" +3
StrCmp $R0 "success" +3
MessageBox MB_OK "Download failed: $R0" /SD IDOK
MessageBox MB_OK "Download failed: $R0" /SD IDOK
Return
Return
StrCmp $0 "Admin" +3
StrCmp $0 "Admin" install
CreateShortCut "$DESKTOP\Install Java for YaCy.lnk" "$2"
CreateShortCut "$DESKTOP\Install Java for YaCy.lnk" "$2"
Return ; don't delete if not admin
Return ; don't delete if not admin
install:
ExecWait "$2 /s"
ExecWait "$2 /s"
Delete $2
Delete $2
FunctionEnd
FunctionEnd