diff --git a/installer.nsi b/installer.nsi index 9e2889a897..248915cffb 100644 --- a/installer.nsi +++ b/installer.nsi @@ -22,21 +22,8 @@ Unicode true !define APP_EXENAME "ffdec.exe" -;!addplugindir "nsis_plugins\ansi\" -;!addplugindir "nsis_plugins\unicode\" - - SetCompressor /SOLID lzma !include "StrFunc.nsh" -;!include "nsis_plugins\JREDyna_Inetc.nsh" - -;Old not working -;!define FLASH_URL "http://download.macromedia.com/pub/flashplayer/current/support/install_flash_player_ax.exe" - -;Not working too since 2021 -;!define FLASH_URL "http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe" - -;!include "nsis_plugins\Flash_Inetc.nsh" !include x64.nsh diff --git a/nsis_plugins/Flash_Inetc.nsh b/nsis_plugins/Flash_Inetc.nsh deleted file mode 100644 index df8407aad0..0000000000 --- a/nsis_plugins/Flash_Inetc.nsh +++ /dev/null @@ -1,111 +0,0 @@ -; Version 1.0.0 -; by JPEXS from JREDyna template - - !include "WordFunc.nsh" - !include "x64.nsh" - - - !macro CUSTOM_PAGE_FLASHINFO - Page custom CUSTOM_PAGE_FLASHINFO - !macroend - - !ifndef FLASH_URL - !error "FLASH_URL must be defined" - !endif - - -;;;;;;;;;;;;;;;;;;;;; -; Custom panel -;;;;;;;;;;;;;;;;;;;;; - -Function CUSTOM_PAGE_FLASHINFO - - SetRegView 32 - ClearErrors - ReadRegStr $R0 HKCR "CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}" "" - IfErrors 0 exit - - nsDialogs::create /NOUNLOAD 1018 - pop $1 - - - !insertmacro MUI_HEADER_TEXT $(STRING_FLASH_AX_REQUIRED_TITLE) $(STRING_FLASH_AX_REQUIRED) - ${NSD_CreateLabel} 0 0 100% 100% $(STRING_FLASH_AX_WILLINSTALL) - pop $1 - goto ShowDialog - -ShowDialog: - - nsDialogs::Show - -exit: - -FunctionEnd - - - - -Function DownloadAndInstallFlashIfNecessary - Push $0 - Push $1 - - DetailPrint "$(STRING_FLASH_AX_DETECTING)" - SetRegView 32 - ClearErrors - ReadRegStr $R0 HKCR "CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}" "" - IfErrors downloadFlash - DetailPrint "$(STRING_FLASH_AX_ALREADYINSTALLED)" - Goto End - -downloadFlash: - DetailPrint "$(STRING_FLASH_AX_MISSING)" - DetailPrint "$(STRING_FLASH_AX_WILLDOWNLOAD) ${FLASH_URL}" - Inetc::get "${FLASH_URL}" "$TEMP\flash_ax_setup.exe" /END - Pop $0 # return value = exit code, "OK" if OK - DetailPrint "$(STRING_FLASH_AX_DOWNRESULT)$0" - - strcmp $0 "OK" downloadsuccessful - MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "$(STRING_FLASH_AX_CANNOTDOWNLOAD)" /SD IDIGNORE IDRETRY downloadFlash IDIGNORE End - Abort - -downloadsuccessful: - - - DetailPrint "$(STRING_FLASH_AX_LAUNCHSETUP)" - - IfSilent doSilent - ExecWait '"$TEMP\flash_ax_setup.exe"' $0 - goto flashSetupfinished -doSilent: - ExecWait '"$TEMP\flash_ax_setup.exe" -install' $0 - - -flashSetupFinished: - DetailPrint "$(STRING_FLASH_AX_SETUPFINISHED)" - Delete "$TEMP\flash_ax_setup.exe" - StrCmp $0 "0" InstallVerify 0 - Push "$(STRING_FLASH_AX_INTERRUPTED) $0" - Goto ExitInstallFlash - -InstallVerify: - DetailPrint "$(STRING_FLASH_AX_SETUPOUTCOME)" - SetRegView 32 - ClearErrors - ReadRegStr $R0 HKCR "CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}" "" - IfErrors 0 ExitInstallFlash - Push "$(STRING_FLASH_AX_UNABLEFINDAFTER)$\n$\n$1" - Goto ExitInstallFlash - -ExitInstallFlash: - Pop $1 - MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "$(STRING_FLASH_AX_UNABLEINSTALL)\n$\n$1" /SD IDIGNORE IDRETRY downloadFlash IDIGNORE End - Pop $1 ; Restore $1 - Pop $0 ; Restore $0 - Abort -End: - Pop $1 ; Restore $1 - Pop $0 ; Restore $0 - -FunctionEnd - - \ No newline at end of file diff --git a/nsis_plugins/JREDyna_Inetc.nsh b/nsis_plugins/JREDyna_Inetc.nsh deleted file mode 100644 index b5a629e99d..0000000000 --- a/nsis_plugins/JREDyna_Inetc.nsh +++ /dev/null @@ -1,384 +0,0 @@ -; Version 1.0.1 - -;JPEXS : Added 64 bit support -;JPEXS : Added getting latest JRE from java web - - - !ifndef JRE_DECLARES - !define JRE_DECLARES - - !include "WordFunc.nsh" - !include "x64.nsh" - - - !macro CUSTOM_PAGE_JREINFO - Page custom CUSTOM_PAGE_JREINFO - !macroend - - !ifndef JRE_VERSION - !error "JRE_VERSION must be defined" - !endif - - !ifndef JRE_DOWNLOAD_PAGE_URL - !define JRE_DOWNLOAD_PAGE_URL "https://java.com/en/download/manual.jsp" - !endif - - !ifndef JRE_DOWNLOAD_ANCHOR_32 - !define JRE_DOWNLOAD_ANCHOR_32 "Windows Offline" - !endif - - !ifndef JRE_DOWNLOAD_ANCHOR_64 - !define JRE_DOWNLOAD_ANCHOR_64 "Windows Offline (64-bit)" - !endif - - -;;;;;;;;;;;;;;;;;;;;; -; Custom panel -;;;;;;;;;;;;;;;;;;;;; - -Function CUSTOM_PAGE_JREINFO - - push $0 - push $1 - push $2 - - - Push "${JRE_VERSION}" - Call DetectJRE - Pop $0 - Pop $1 - StrCmp $0 "OK" exit - - nsDialogs::create /NOUNLOAD 1018 - pop $1 - - StrCmp $0 "0" NoFound - StrCmp $0 "-1" FoundOld - - -NoFound: - !insertmacro MUI_HEADER_TEXT "$(STRING_JRE_REQUIRED_TITLE)" "$(STRING_JRE_REQUIRED)" - ${NSD_CreateLabel} 0 0 100% 100% "$(STRING_JRE_REQUIRED_INFO)" - pop $1 - goto ShowDialog - -FoundOld: - !insertmacro MUI_HEADER_TEXT "$(STRING_JRE_UPDATEREQUIRED_TITLE)" "$(STRING_JRE_UPDATEREQUIRED)" - ${NSD_CreateLabel} 0 0 100% 100% "$(STRING_JRE_UPDATEREQUIRED_INFO)" - pop $1 - goto ShowDialog - -ShowDialog: - - nsDialogs::Show - -exit: - - - pop $2 - pop $1 - pop $0 - -FunctionEnd - - -Function Trim - Exch $R1 ; Original string - Push $R2 -Loop: - StrCpy $R2 "$R1" 1 - StrCmp "$R2" " " TrimLeft - StrCmp "$R2" "$\r" TrimLeft - StrCmp "$R2" "$\n" TrimLeft - StrCmp "$R2" "$\t" TrimLeft - GoTo Loop2 -TrimLeft: - StrCpy $R1 "$R1" "" 1 - Goto Loop -Loop2: - StrCpy $R2 "$R1" 1 -1 - StrCmp "$R2" " " TrimRight - StrCmp "$R2" "$\r" TrimRight - StrCmp "$R2" "$\n" TrimRight - StrCmp "$R2" "$\t" TrimRight - GoTo Done -TrimRight: - StrCpy $R1 "$R1" -1 - Goto Loop2 -Done: - Pop $R2 - Exch $R1 -FunctionEnd -!define Trim "!insertmacro Trim" - !macro Trim ResultVar String - Push "${String}" - Call Trim - Pop "${ResultVar}" -!macroend - - - -; Checks to ensure that the installed version of the JRE (if any) is at least that of -; the JRE_VERSION variable. The JRE will be downloaded and installed if necessary -; The full path of java.exe will be returned on the stack - - -var JRE_URL -var JRE_ANCHOR -var jpghtml -var aurl -var astate -var atext -var jf -var jtxt -var jpos - -Function DownloadAndInstallJREIfNecessary - Push $0 - Push $1 - - DetailPrint "$(STRING_JRE_DETECTVERSION)" - Push "${JRE_VERSION}" - Call DetectJRE - Pop $0 ; Get return value from stack - Pop $1 ; get JRE path (or error message) - DetailPrint "$(STRING_JRE_DETECTCOMPLETE)$1" - - - strcmp $0 "OK" End downloadJRE - -downloadJRE: - - ${If} ${RunningX64} - Push "${JRE_DOWNLOAD_ANCHOR_64}" - ${Else} - Push "${JRE_DOWNLOAD_ANCHOR_32}" - ${EndIf} - Pop $JRE_ANCHOR - - GetTempFileName $jpghtml - inetc::get /SILENT /USERAGENT "${APP_NAME} Setup" "${JRE_DOWNLOAD_PAGE_URL}" "$jpghtml" /END -Pop $0 -StrCmp $0 "OK" 0 urlcheckfailed - -StrCpy $astate 0 - -FileOpen $jf "$jpghtml" r -jloop: - FileRead $jf $jtxt - IfErrors jdone - ${Trim} $jtxt $jtxt - ;MessageBox MB_OK $jtxt - StrCmp $astate 0 astate0 - StrCmp $astate 1 astate1 - StrCmp $astate 2 astate2 - StrCmp $astate 3 astate3 - - astate0: - ${StrLoc} $jpos $jtxt "" - StrCmp $jpos "" jloop - IntOp $jpos $jpos + 3 ;" - StrCmp $jpos "" jloop - IntOp $jpos $jpos + 6 ;href=" len - StrCpy $jtxt $jtxt "" $jpos - ${StrLoc} $jpos $jtxt "$\"" ">" - StrCmp $jpos "" jloop - StrCpy $aurl $jtxt $jpos - IntOp $jpos $jpos + 1 ;" len - StrCpy $jtxt $jtxt "" $jpos - - astate2: - StrCpy $astate 2 - ${StrLoc} $jpos $jtxt ">" ">" - StrCmp $jpos "" jloop - IntOp $jpos $jpos + 1 ;> len - StrCpy $jtxt $jtxt "" $jpos - - StrCpy $atext "" - - astate3: - StrCpy $astate 3 - ${StrLoc} $jpos $jtxt "" ">" - StrCmp $jpos "" 0 telse - StrCpy $atext "$atext$jtxt" - Goto jloop - telse: - StrCpy $jtxt $jtxt $jpos - StrCpy $atext "$atext$jtxt" - StrCpy $astate 0 - - StrCmp $atext $JRE_ANCHOR 0 jloop - StrCpy $JRE_URL $aurl -jdone: - FileClose $jf - - StrCmp $JRE_URL "" urlcheckfailed urlgetsuccessfull - urlcheckfailed: - MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "$(STRING_JRE_CANNOTDOWNLOAD)" /SD IDIGNORE IDRETRY downloadJRE IDIGNORE End - Abort - urlgetsuccessfull: - - DetailPrint "$(STRING_JRE_WILLDOWNLOAD)$JRE_URL" - Inetc::get "$JRE_URL" "$TEMP\jre_Setup.exe" /END - Pop $0 # return value = exit code, "OK" if OK - DetailPrint "$(STRING_JRE_DOWNRESULT)$0" - - strcmp $0 "OK" downloadsuccessful - MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "$(STRING_JRE_CANNOTDOWNLOAD)" /SD IDIGNORE IDRETRY downloadJRE IDIGNORE End - Abort - -downloadsuccessful: - - DetailPrint "$(STRING_JRE_LAUNCHSETUP)" - - IfSilent doSilent - ExecWait '"$TEMP\jre_setup.exe" REBOOT=Suppress SPONSORS=0 /L "$TEMP\jre_setup.log"' $0 - goto jreSetupfinished -doSilent: - ExecWait '"$TEMP\jre_setup.exe" /S REBOOT=Suppress SPONSORS=0 /L "$TEMP\jre_setup.log"' $0 - - -jreSetupFinished: - DetailPrint "$(STRING_JRE_SETUPFINISHED)" - Delete "$TEMP\jre_setup.exe" - StrCmp $0 "0" InstallVerify 0 - Push "$(STRING_JRE_INTERRUPTED)$0" - Goto ExitInstallJRE - -InstallVerify: - DetailPrint "$(STRING_JRE_SETUPOUTCOME)" - Push "${JRE_VERSION}" - Call DetectJRE - Pop $0 ; DetectJRE's return value - Pop $1 ; JRE home (or error message if compatible JRE could not be found) - StrCmp $0 "OK" 0 JavaVerStillWrong - Goto JREPathStorage -JavaVerStillWrong: - Push "$(STRING_JRE_UNABLEFINDAFTER)$\n$\n$1" - Goto ExitInstallJRE - -JREPathStorage: - push $0 ; => rv, r1, r0 - exch 2 ; => r0, r1, rv - exch ; => r1, r0, rv - Goto End - -ExitInstallJRE: - Pop $1 - MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "$(STRING_JRE_UNABLEINSTALL)$\n$\n$1" /SD IDIGNORE IDRETRY downloadJRE IDIGNORE End - Pop $1 ; Restore $1 - Pop $0 ; Restore $0 - Abort -End: - Pop $1 ; Restore $1 - Pop $0 ; Restore $0 - -FunctionEnd - - -; DetectJRE -; Inputs: Minimum JRE version requested on stack (this value will be overwritten) -; Outputs: Returns two values on the stack: -; First value (rv0): 0 - JRE not found. -1 - JRE found but too old. OK - JRE found and meets version criteria -; Second value (rv1): Problem description. Otherwise - Path to the java runtime (javaw.exe will be at .\bin\java.exe relative to this path) - -Function DetectJRE - - Exch $0 ; Get version requested - ; Now the previous value of $0 is on the stack, and the asked for version of JDK is in $0 - Push $1 ; $1 = Java version string (ie 1.5.0) - Push $2 ; $2 = Javahome - Push $3 ; $3 = holds the version comparison result - - ; stack is now: r3, r2, r1, r0 -;DetectJRE64: - SetRegView 64 - ; first, check for an installed JRE - ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" - StrCmp $1 "" DetectJDK64 - ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1" "JavaHome" - StrCmp $2 "" DetectJDK64 - Goto GetJRE - -DetectJDK64: - SetRegView 64 - ; next, check for an installed JDK - ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Development Kit" "CurrentVersion" - StrCmp $1 "" DetectJRE - ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Development Kit\$1" "JavaHome" - StrCmp $2 "" DetectJRE - Goto GetJRE - -DetectJRE: - SetRegView 32 -; first, check for an installed JRE - ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" - StrCmp $1 "" DetectJDK - ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1" "JavaHome" - StrCmp $2 "" DetectJDK - Goto GetJRE - - -DetectJDK: - SetRegView 32 - ; next, check for an installed JDK - ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Development Kit" "CurrentVersion" - StrCmp $1 "" NoFound - ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Development Kit\$1" "JavaHome" - StrCmp $2 "" NoFound - Goto GetJRE - - -GetJRE: - SetRegView 32 - ; ok, we found a JRE, let's compare it's version and make sure it is new enough -; $0 = version requested. $1 = version found. $2 = javaHome - IfFileExists "$2\bin\java.exe" 0 NoFound - - ${VersionCompare} $0 $1 $3 ; $3 now contains the result of the comparison - DetailPrint "$(STRING_JRE_DETECTCOMPARE_1)$0$(STRING_JRE_DETECTCOMPARE_2)$1$(STRING_JRE_DETECTCOMPARE_3)$3" - intcmp $3 1 FoundOld - goto FoundNew - -NoFound: - ; No JRE found - strcpy $0 "0" - strcpy $1 "$(STRING_JRE_DETECTCOMPLETE_NO)" - Goto DetectJREEnd - -FoundOld: - ; An old JRE was found - strcpy $0 "-1" - strcpy $1 "$(STRING_JRE_DETECTCOMPLETE_OLD)" - Goto DetectJREEnd -FoundNew: - ; A suitable JRE was found - strcpy $0 "OK" - strcpy $1 $2 - Goto DetectJREEnd - -DetectJREEnd: - SetRegView 32 - ; at this stage, $0 contains rv0, $1 contains rv1 - ; now, straighten the stack out and recover original values for r0, r1, r2 and r3 - ; there are two return values: rv0 = -1, 0, OK and rv1 = JRE path or problem description - ; stack looks like this: - ; r3,r2,r1,r0 - Pop $3 ; => r2,r1,r0 - Pop $2 ; => r1,r0 - Push $0 ; => rv0, r1, r0 - Exch 2 ; => r0, r1, rv0 - Push $1 ; => rv1, r0, r1, rv0 - Exch 2 ; => r1, r0, rv1, rv0 - Pop $1 ; => r0, rv1, rv0 - Pop $0 ; => rv1, rv0 - Exch ; => rv0, rv1 - - -FunctionEnd - !endif ; // JRE_DECLARES \ No newline at end of file diff --git a/nsis_plugins/ansi/inetc.dll b/nsis_plugins/ansi/inetc.dll deleted file mode 100644 index cca1550d58..0000000000 Binary files a/nsis_plugins/ansi/inetc.dll and /dev/null differ diff --git a/nsis_plugins/ansi/inetc64.dll b/nsis_plugins/ansi/inetc64.dll deleted file mode 100644 index 80bc016709..0000000000 Binary files a/nsis_plugins/ansi/inetc64.dll and /dev/null differ diff --git a/nsis_plugins/unicode/inetc.dll b/nsis_plugins/unicode/inetc.dll deleted file mode 100644 index c4aeddd9cb..0000000000 Binary files a/nsis_plugins/unicode/inetc.dll and /dev/null differ diff --git a/nsis_plugins/unicode/inetc64.dll b/nsis_plugins/unicode/inetc64.dll deleted file mode 100644 index bee6bb272e..0000000000 Binary files a/nsis_plugins/unicode/inetc64.dll and /dev/null differ