summaryrefslogtreecommitdiff
path: root/setup_native/source/win32/nsis/downloadtemplate.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'setup_native/source/win32/nsis/downloadtemplate.nsi')
-rw-r--r--setup_native/source/win32/nsis/downloadtemplate.nsi432
1 files changed, 432 insertions, 0 deletions
diff --git a/setup_native/source/win32/nsis/downloadtemplate.nsi b/setup_native/source/win32/nsis/downloadtemplate.nsi
new file mode 100644
index 000000000000..d755dfb5848a
--- /dev/null
+++ b/setup_native/source/win32/nsis/downloadtemplate.nsi
@@ -0,0 +1,432 @@
+!define PRODUCT_NAME "PRODUCTNAMEPLACEHOLDER"
+!define PRODUCT_VERSION "PRODUCTVERSIONPLACEHOLDER"
+!define PRODUCT_PUBLISHER "PUBLISHERPLACEHOLDER"
+!define PRODUCT_WEB_SITE "WEBSITEPLACEHOLDER"
+
+; SetCompressor lzma
+SetCompressor zlib
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+Function .onInit
+
+ Call GetParameters
+ Pop $1
+ ;MessageBox MB_OK "$1"
+
+ Push $1
+ Push "/HELP="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "HELP: $2"
+
+ StrCmp $2 "ON" showhelp nohelp
+ showhelp:
+ MessageBox MB_OK|MB_ICONINFORMATION \
+ "DOWNLOADNAMEPLACEHOLDER options: $\n $\n \
+ /S : Silent installation $\n \
+ /D=<path> : NSIS installation directory (must be the last option!) $\n \
+ /EXTRACTONLY=ON : NSIS only extracts the PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation set $\n \
+ /INSTALLLOCATION=<path> : PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation directory $\n \
+ /POSTREMOVE=ON : Removes the unpacked installation set after PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation $\n \
+ /INSTALLJAVA=ON : Installs JRE located in sub directory java, if exists $\n \
+ /GUILEVEL=<guilevel> : Setting Windows Installer GUI level: qr, qb, qn, qf, ... $\n \
+ /PARAM1=$\"key=value$\" : Flexible parameter 1. Example: /PARAM1=$\"INSTALLLEVEL=70$\" $\n \
+ /PARAM2=$\"key=value$\" : Flexible parameter 2. $\n \
+ /PARAM3=$\"key=value$\" : Flexible parameter 3. $\n \
+ /HELP=ON : Shows this help $\n"
+ Quit
+ GoTo onInitDone
+
+ nohelp:
+
+ StrCmp $INSTDIR "" pathnotset pathset
+ pathnotset:
+
+ IfSilent onInitSilent onInitNoSilent
+
+ onInitSilent:
+ StrCpy $INSTDIR "$TEMP\PRODUCTPATHPLACEHOLDER Installation Files"
+ GoTo onInitDone
+
+ onInitNoSilent:
+ StrCpy $INSTDIR "$DESKTOP\PRODUCTPATHPLACEHOLDER Installation Files"
+ GoTo onInitDone
+
+ onInitDone:
+ pathset:
+
+FunctionEnd
+
+Function GetParameters
+
+ Push $R0
+ Push $R1
+ Push $R2
+ Push $R3
+
+ StrCpy $R2 1
+
+ StrLen $R3 $CMDLINE
+
+ ;Check for quote or space
+ StrCpy $R0 $CMDLINE $R2
+
+ StrCmp $R0 '"' 0 +3
+ StrCpy $R1 '"'
+ Goto loop
+ StrCpy $R1 " "
+
+ loop:
+ IntOp $R2 $R2 + 1
+ StrCpy $R0 $CMDLINE 1 $R2
+ StrCmp $R0 $R1 get
+ StrCmp $R2 $R3 get
+ Goto loop
+
+ get:
+ IntOp $R2 $R2 + 1
+ StrCpy $R0 $CMDLINE 1 $R2
+ StrCmp $R0 " " get
+ StrCpy $R0 $CMDLINE "" $R2
+
+ Pop $R3
+ Pop $R2
+ Pop $R1
+ Exch $R0
+
+FunctionEnd
+
+Function GetOptions
+
+ Exch $1
+ Exch
+ Exch $0
+ Exch
+ Push $2
+ Push $3
+ Push $4
+ Push $5
+ Push $6
+ Push $7
+
+ StrCpy $2 $1 '' 1
+ StrCpy $1 $1 1
+ StrLen $3 $2
+ StrCpy $7 0
+
+ begin:
+ StrCpy $4 -1
+ StrCpy $6 ''
+
+ quote:
+ IntOp $4 $4 + 1
+ StrCpy $5 $0 1 $4
+ StrCmp $5$7 '0' notfound
+ StrCmp $5 '' trimright
+ StrCmp $5 '"' 0 +7
+ StrCmp $6 '' 0 +3
+ StrCpy $6 '"'
+ goto quote
+ StrCmp $6 '"' 0 +3
+ StrCpy $6 ''
+ goto quote
+ StrCmp $5 `'` 0 +7
+ StrCmp $6 `` 0 +3
+ StrCpy $6 `'`
+ goto quote
+ StrCmp $6 `'` 0 +3
+ StrCpy $6 ``
+ goto quote
+ StrCmp $5 '`' 0 +7
+ StrCmp $6 '' 0 +3
+ StrCpy $6 '`'
+ goto quote
+ StrCmp $6 '`' 0 +3
+ StrCpy $6 ''
+ goto quote
+ StrCmp $6 '"' quote
+ StrCmp $6 `'` quote
+ StrCmp $6 '`' quote
+ StrCmp $5 $1 0 quote
+ StrCmp $7 0 trimleft trimright
+
+ trimleft:
+ IntOp $4 $4 + 1
+ StrCpy $5 $0 $3 $4
+ StrCmp $5 '' notfound
+ StrCmp $5 $2 0 quote
+ IntOp $4 $4 + $3
+ StrCpy $0 $0 '' $4
+ StrCpy $4 $0 1
+ StrCmp $4 ' ' 0 +3
+ StrCpy $0 $0 '' 1
+ goto -3
+ StrCpy $7 1
+ goto begin
+
+ trimright:
+ StrCpy $0 $0 $4
+ StrCpy $4 $0 1 -1
+ StrCmp $4 ' ' 0 +3
+ StrCpy $0 $0 -1
+ goto -3
+ StrCpy $3 $0 1
+ StrCpy $4 $0 1 -1
+ StrCmp $3 $4 0 end
+ StrCmp $3 '"' +3
+ StrCmp $3 `'` +2
+ StrCmp $3 '`' 0 end
+ StrCpy $0 $0 -1 1
+ goto end
+
+ notfound:
+ StrCpy $0 ''
+
+ end:
+ Pop $7
+ Pop $6
+ Pop $5
+ Pop $4
+ Pop $3
+ Pop $2
+ Pop $1
+ Exch $0
+
+FunctionEnd
+
+; MUI Settings
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_RIGHT
+!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+!define MUI_HEADERIMAGE_BITMAP BANNERBMPPLACEHOLDER
+!define MUI_WELCOMEFINISHPAGE_BITMAP WELCOMEBMPPLACEHOLDER
+!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+!define MUI_WELCOMEPAGE_TITLE_3LINES
+!define MUI_ABORTWARNING
+!define MUI_ICON "SETUPICOPLACEHOLDER"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+
+#231#!macro MUI_LANGUAGE_PACK LANGUAGE
+#231# !verbose push
+#231# !verbose ${MUI_VERBOSE}
+#231# !insertmacro MUI_INSERT
+#231# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf"
+#231# ;Set default language file for MUI and backup user setting
+#231# !ifdef LANGFILE_DEFAULT
+#231# !define MUI_LANGFILE_DEFAULT_TEMP "${LANGFILE_DEFAULT}"
+#231# !undef LANGFILE_DEFAULT
+#231# !endif
+#231# !define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh"
+#231# ;Include language file
+#231# !insertmacro LANGFILE_INCLUDE "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh"
+#231# ;Restore user setting for default language file
+#231# !undef LANGFILE_DEFAULT
+#231# !ifdef MUI_LANGFILE_DEFAULT_TEMP
+#231# !define LANGFILE_DEFAULT "${MUI_LANGFILE_DEFAULT}"
+#231# !endif
+#231# ;Add language to list of languages for selection dialog
+#231# !ifndef MUI_LANGDLL_LANGUAGES
+#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
+#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
+#231# !else
+#231# !ifdef MUI_LANGDLL_LANGUAGES_TEMP
+#231# !undef MUI_LANGDLL_LANGUAGES_TEMP
+#231# !endif
+#231# !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
+#231# !undef MUI_LANGDLL_LANGUAGES
+#231# !ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP
+#231# !undef MUI_LANGDLL_LANGUAGES_CP_TEMP
+#231# !endif
+#231# !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}"
+#231# !undef MUI_LANGDLL_LANGUAGES_CP
+#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
+#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}"
+#231# !endif
+#231# !verbose pop
+#231#!macroend
+
+#204#!macro MUI_LANGUAGE_PACK LANGUAGE
+#204# !verbose push
+#204# !verbose ${MUI_VERBOSE}
+#204# !include "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh"
+#204# !verbose pop
+#204#!macroend
+
+#204#!macro MUI_LANGUAGEFILE_PACK_BEGIN LANGUAGE
+#204# !ifndef MUI_INSERT
+#204# !define MUI_INSERT
+#204# !insertmacro MUI_INSERT
+#204# !endif
+#204# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf"
+#204#!macroend
+
+; Language files
+ALLLANGUAGESPLACEHOLDER
+
+; Reserve files
+;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+; MUI end ------
+
+Name "PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER"
+OutFile "OUTPUTDIRPLACEHOLDER\DOWNLOADNAMEPLACEHOLDER"
+; InstallDir "$DESKTOP\PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER Installation Files"
+; ShowInstDetails show
+
+Section "MainSection" SEC01
+ALLFILESPLACEHOLDER
+SectionEnd
+
+Section -Post
+
+ StrCpy $R9 "false"
+
+ Call GetParameters
+ Pop $1
+
+ Push $1
+ Push "/EXTRACTONLY="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "EXTRACTONLY: $2"
+
+ StrCmp $2 "ON" onPostDone callsetup
+ callsetup:
+
+ Push $1
+ Push "/INSTALLLOCATION="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "INSTALLLOCATION: $2"
+
+ StrCmp $2 "" installnotset installset
+ installset:
+ StrCpy $3 'INSTALLLOCATION="$2"'
+ installnotset:
+
+ Push $1
+ Push "/INSTALLJAVA="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "INSTALLJAVA: $2"
+
+ StrCmp $2 "ON" setinstalljava setdontinstalljava
+ setinstalljava:
+ StrCpy $R9 "true"
+ setdontinstalljava:
+
+ Push $1
+ Push "/GUILEVEL="
+ Call GetOptions
+ Pop $2
+
+ StrCmp $2 "" dontsetguilevel setguilevel
+ setguilevel:
+ StrCpy $7 "/"
+ StrCpy $7 $7$2
+ GoTo afterguilevel
+ dontsetguilevel:
+ StrCpy $7 "/qr"
+ afterguilevel:
+
+ ;MessageBox MB_OK "GUILEVEL: $7"
+
+ Push $1
+ Push "/PARAM1="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "PARAM1: $2"
+
+ StrCmp $2 "" param1notset param1set
+ param1set:
+ StrCpy $4 "$2"
+ param1notset:
+
+
+ Push $1
+ Push "/PARAM2="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "PARAM2: $2"
+
+ StrCmp $2 "" param2notset param2set
+ param2set:
+ StrCpy $5 "$2"
+ param2notset:
+
+
+ Push $1
+ Push "/PARAM3="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "PARAM3: $2"
+
+ StrCmp $2 "" param3notset param3set
+ param3set:
+ StrCpy $6 "$2"
+ param3notset:
+
+ IfSilent onPostSilent onPostNoSilent
+
+ onPostSilent:
+ Push $1
+ Push "/POSTREMOVE="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "POSTREMOVE: $2"
+
+ StrCmp $2 "ON" postremovesilent nopostremovesilent
+ nopostremovesilent:
+ StrCmp $R9 "true" installjava1 dontinstalljava1
+ installjava1:
+ ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"'
+ dontinstalljava1:
+ ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0
+ SetErrorLevel $0
+ Quit
+ GoTo onPostDone
+ postremovesilent:
+ StrCmp $R9 "true" installjava2 dontinstalljava2
+ installjava2:
+ ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"'
+ dontinstalljava2:
+ ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0
+ RMDir /r $INSTDIR
+ RMDir $INSTDIR
+ SetErrorLevel $0
+ Quit
+ GoTo onPostDone
+
+ onPostNoSilent:
+ Push $1
+ Push "/POSTREMOVE="
+ Call GetOptions
+ Pop $2
+ ;MessageBox MB_OK "POSTREMOVE: $2"
+
+ StrCmp $2 "ON" postremove nopostremove
+ nopostremove:
+ Exec "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6"
+ Quit
+ GoTo onPostDone
+ postremove:
+ StrCmp $R9 "true" installjava3 dontinstalljava3
+ installjava3:
+ ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qr REBOOT=Suppress"'
+ dontinstalljava3:
+ ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6" $0
+ RMDir /r $INSTDIR
+ RMDir $INSTDIR
+ SetErrorLevel $0
+ Quit
+ GoTo onPostDone
+
+ onPostDone:
+
+SectionEnd