windows installer:

* install 64 bit JRE in case of 64 bit OS (not testet yet)
* less languages but localized hint boxes
* some cosmetics

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5732 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
lotus 16 years ago
parent 0926310461
commit 7426dde6a6

@ -17,9 +17,18 @@ COMMAND LINE OPTIONS (case sensitive):
!include MUI2.nsh
!include x64.nsh
; ----------------------------------------
; 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@"
OutFile "RELEASE\WINDOWS\yacy_v@REPL_VERSION@_@REPL_DATE@_@REPL_REVISION_NR@.exe"
@ -35,13 +44,17 @@ SetCompressor /SOLID LZMA
; ----------------------------------------
; JAVA VERSION
; http://www.java.com/de/download/manual.jsp BundleId +1 / +2
!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
BrandingText "yacy.net"
!define MUI_ICON "RELEASE\MAIN\addon\YaCy.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 "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SpanishInternational"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
!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"
LangString stillRunning ${LANG_ENGLISH} "YaCy is still active. Please stop YaCy first."
LangString keepData 0 "Do you want to keep the data?"
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."
LangString stillRunning ${LANG_FRENCH} "YaCy is still active. Please stop YaCy first."
LangString keepData 0 "Do you want to keep the data?"
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."
LangString stillRunning ${LANG_GERMAN} "YaCy ist noch aktiv. Bitte beenden Sie YaCy."
LangString keepData 0 "Moechten Sie die Daten behalten?"
LangString noAdminForJava 0 "Sie benoetigen Administrator-Rechte um Java zu installieren. Es wird nun in 'Gemeinsame Dokumente' gespeichert. YaCy benoetigt Java zur Ausfuehrung."
; ----------------------------------------
; INSTALLABLE MODULES
@ -162,8 +135,8 @@ Section "YaCy"
WriteUninstaller "uninstall.exe"
SectionEnd
Section "Java"
SectionIn 1 RO
Section "Sun Java"
SectionIn 1
SetShellVarContext current
Call DetectJRE
SectionEnd
@ -194,10 +167,11 @@ SectionEnd
; UNINSTALLER
Section "Uninstall"
IfFileExists "$INSTDIR\DATA\yacy.running" 0 +3
MessageBox MB_ICONSTOP "YaCy is still running. Please stop YaCy first." /SD IDOK
IfFileExists "$INSTDIR\DATA\yacy.running" 0 uninstall
MessageBox MB_ICONSTOP "$(stillRunning)" /SD IDOK
Goto nouninstall
uninstall:
SetShellVarContext current
RMDir /r "$INSTDIR\addon"
@ -213,7 +187,7 @@ Section "Uninstall"
RMDir /r "$INSTDIR\source"
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
RMDir /r "$INSTDIR"
@ -233,24 +207,29 @@ SectionEnd
Function GetJRE
; 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
Pop $0
StrCmp $0 "Admin" +3
MessageBox MB_ICONEXCLAMATION "You need Administrator privileges to install Java. \
It will now be downloaded to the shared documents folder. \
YaCy won't run without Java." /SD IDOK
StrCmp $0 "Admin" download
MessageBox MB_ICONEXCLAMATION "$(noAdminForJava)" /SD IDOK
download:
SetShellVarContext all
StrCpy $2 "$DOCUMENTS\Java Runtime Environment (install for YaCy).exe"
StrCpy $2 "$DOCUMENTS\Java Runtime (install for YaCy).exe"
SetShellVarContext current
nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2
nsisdl::download /TIMEOUT=30000 $3 $2
Pop $R0 ;Get the return value
StrCmp $R0 "success" +3
MessageBox MB_OK "Download failed: $R0" /SD IDOK
Return
StrCmp $0 "Admin" +3
StrCmp $0 "Admin" install
CreateShortCut "$DESKTOP\Install Java for YaCy.lnk" "$2"
Return ; don't delete if not admin
install:
ExecWait "$2 /s"
Delete $2
FunctionEnd

Loading…
Cancel
Save