Jump to content

papageorgiou

Members
  • Posts

    1
  • Joined

  • Last visited

  • Days Won

    1

Reputation Activity

  1. Like
    papageorgiou got a reaction from hamzaaan in Java Multi Maker   
    Here was my solution.
     
    I first noticed with 8u20 that the 64bit version when extracted had different file names so the rename commands failed.
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_101_JAVA_INSTALLER.bin" jre64_inst.msi
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_102_JAVA_INSTALLER.bin" Data1.cab
     
    needed to be changed to
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
     
    Then with 8u25, the files did not extract correctly, so I changed the script (see below) to launch the exe(s) and then grab the msi from the profile temp and then kill the exe(s).  It seems to work nicely so far.
     
    The lines in bold are where the changes can be found.
     
    @echo off
    setlocal enableextensions
    if not exist "%~dp0bin\7za.exe" goto :No7za
    if not exist "%~dp0bin\JavaInst.sfx" goto :No7SFX
    if not exist "%~dp0bin\ResourcesExtract.exe" goto :NoResExtr
    SET SZ="%~dp0bin\7za.exe"
    if exist "%~dp0jre-*-windows-i586.exe" GOTO :X86
    if not exist "%~dp0jre-*-windows-i586.exe" GOTO :X64
     
     
     
    :X86
    if exist "%~dp0jre-*-windows-x64.exe" GOTO :DUAL
    set JAVAFILE=
    for %%j in (%~dp0jre-*-windows-i586.exe) do call :GETJAVAVER %%~nxj
    if "%JAVAFILE%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%j in ("%JAVAFILE%") do set JAVAVER=%%j
    SET MAJ=%JAVAVER:~0,1%
    SET MIN=%JAVAVER:~2,3%
    if exist "%~dp0JRE_TEMP" rmdir /s /q "%~dp0JRE_TEMP"
    mkdir "%~dp0JRE_TEMP"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE%" /DestFolder "%~dp0JRE_TEMP" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_101_JAVA_INSTALLER.bin" jre_inst.msi
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_102_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP\%JAVAFN%*"
     
    ECHO.
    ECHO Launching JRE 32bit to grab msi . . .
    start "Launching JRE 32bit to grab msi . . ." "%~dp0%JAVAFILE%"
    if exist "%~dp0JRE_ADMAIO" rmdir /s /q "%~dp0JRE_ADMAIO"
    mkdir "%~dp0JRE_ADMAIO"
    :DUAL32BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL32BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP\jre_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP\jre_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADM"
    rmdir /s /q "%~dp0JRE_TEMP"
    %SZ% a "%~dp0JavaInst.7z" "%~dp0JRE_ADM\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp032.cfg"+"%~dp0JavaInst.7z" "%~dp0Java%JAVAVER%.exe"
    rmdir /s /q "%~dp0JRE_ADM"
    del /f /q "%~dp0JavaInst.7z"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER%.exe" "%~dp0svcpack\Java%JAVAVER%.exe"
    call :ENTRIES_INI
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp032.cfg"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
    :X64
    set JAVAFILE64=
    for %%k in (%~dp0jre-*-windows-x64.exe) do call :GETJAVAVER64 %%~nxk
    if "%JAVAFILE64%"=="" goto :NoJavaInst
    if not exist "%~dp0bin\ResourcesExtract.exe" goto :NoResExtr
    for /f "delims=- tokens=2" %%k in ("%JAVAFILE64%") do set JAVAVER64=%%k
    SET MAJ=%JAVAVER64:~0,1%
    SET MIN=%JAVAVER64:~2,3%
    echo JRE newest version found^: 1.%JAVAVER64%
    echo Java file name only - %JAVAFN64%
    if exist "%~dp0JRE_TEMP64" rmdir /s /q "%~dp0JRE_TEMP64"
    mkdir "%~dp0JRE_TEMP64"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE64%" /DestFolder "%~dp0JRE_TEMP64" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP64\%JAVAFN64%*"
     
    ECHO.
    ECHO Launching JRE 64bit to grab msi . . .
    start "Launching JRE 64bit to grab msi . . ." "%~dp0%JAVAFILE64%"
    :DUAL64BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL64BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP64\jre64_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE64%
     
    if exist "%~dp0JRE_ADM64" rmdir /s /q "%~dp0JRE_ADM64"
    mkdir "%~dp0JRE_ADM64"
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP64\jre64_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADM64"
    rmdir /s /q "%~dp0JRE_TEMP64"
    %SZ% a "%~dp0JavaInst-x64.7z" "%~dp0JRE_ADM64\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG_64
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp064.cfg"+"%~dp0JavaInst-x64.7z" "%~dp0Java%JAVAVER64%-x64.exe"
    rmdir /s /q "%~dp0JRE_ADM64"
    del /f /q "%~dp0JavaInst-x64.7z"
    del /f /q "%~dp064.cfg"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER64%-x64.exe" "%~dp0svcpack\Java%JAVAVER64%.exe"
    call :ENTRIES_INI_64
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_x64_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
     
    :DUAL
    set JAVAFILE=
    for %%j in (%~dp0jre-*-windows-i586.exe) do call :GETJAVAVER %%~nxj
    if "%JAVAFILE%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%j in ("%JAVAFILE%") do set JAVAVER=%%j
    SET MAJ=%JAVAVER:~0,1%
    SET MIN=%JAVAVER:~2,3%
    echo JRE newest version found^: 1.%JAVAVER%
    echo Java file name only - %JAVAFN%
    if exist "%~dp0JRE_TEMP" rmdir /s /q "%~dp0JRE_TEMP"
    mkdir "%~dp0JRE_TEMP"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE%" /DestFolder "%~dp0JRE_TEMP" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_101_JAVA_INSTALLER.bin" jre_inst.msi
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_102_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP\%JAVAFN%*"
     
    ECHO.
    ECHO Launching JRE 32bit to grab msi . . .
    start "Launching JRE 32bit to grab msi . . ." "%~dp0%JAVAFILE%"
    if exist "%~dp0JRE_ADMAIO" rmdir /s /q "%~dp0JRE_ADMAIO"
    mkdir "%~dp0JRE_ADMAIO"
    :DUAL32BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL32BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP\jre_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP\jre_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADMAIO"
    rmdir /s /q "%~dp0JRE_TEMP"
     
    ECHO.
     
    set JAVAFILE64=
    for %%k in (%~dp0jre-*-windows-x64.exe) do call :GETJAVAVER64 %%~nxk
    if "%JAVAFILE64%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%k in ("%JAVAFILE64%") do set JAVAVER64=%%k
    echo JRE newest version found^: 1.%JAVAVER64%
    echo Java file name only - %JAVAFN64%
    if exist "%~dp0JRE_TEMP64" rmdir /s /q "%~dp0JRE_TEMP64"
    mkdir "%~dp0JRE_TEMP64"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE64%" /DestFolder "%~dp0JRE_TEMP64" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
     
    ECHO.
    ECHO Launching JRE 64bit to grab msi . . .
    start "Launching JRE 64bit to grab msi . . ." "%~dp0%JAVAFILE64%"
    :DUAL64BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL64BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP64\jre64_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE64%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP64\jre64_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADMAIO"
    rmdir /s /q "%~dp0JRE_TEMP64"
    %SZ% a "%~dp0JavaInst-AIO.7z" "%~dp0JRE_ADMAIO\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG_AIO
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp0AIO.cfg"+"%~dp0JavaInst-AIO.7z" "%~dp0Java%JAVAVER64%-Dual.exe"
    rmdir /s /q "%~dp0JRE_ADMAIO"
    del /f /q "%~dp0JavaInst-AIO.7z"
    del /f /q "%~dp0AIO.cfg"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER64%-Dual.exe" "%~dp0svcpack\Java%JAVAVER64%.exe"
    call :ENTRIES_INI_AIO
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_Dual_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
     
    :CONFIG
    ECHO ;!@Install@!UTF-8!> "%~dp032.cfg"
    ECHO SetEnvironment="swUninst_x64=HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp032.cfg"
    ECHO SetEnvironment="swUninst_x86=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp032.cfg"
    ECHO SetEnvironment="DelOldVer=%%%%P:hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_%%%%P%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F832[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp032.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% x86 with Web plugins\nAny previous Java x86 version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp032.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp032.cfg"
    ECHO FinishMessage="Java SE %MAJ% Update %MIN% x86 has been installed.">> "%~dp032.cfg"
    ECHO GUIMode="1">> "%~dp032.cfg"
    ECHO GUIFlags="6153">> "%~dp032.cfg"
    ECHO MiscFlags="4">> "%~dp032.cfg"
    ECHO RunProgram="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO RunProgram="jre_inst.msi /qb!">> "%~dp032.cfg"
    ECHO RunProgram="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO RunProgram="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO AutoInstall="jre_inst.msi /qn">> "%~dp032.cfg"
    ECHO AutoInstall="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall1="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO AutoInstall1="jre_inst.msi /qn WEB_JAVA=0">> "%~dp032.cfg"
    ECHO AutoInstall1="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall1="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp032.cfg"
    ECHO. >> "%~dp032.cfg"
    GOTO :EOF
     
     
     
    :CONFIG_64
    ECHO ;!@Install@!UTF-8!> "%~dp064.cfg"
    ECHO SetEnvironment="swUninst=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp064.cfg"
    ECHO SetEnvironment="DelOldVer64=hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F864[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp064.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x64">> "%~dp064.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% x64 with Web plugins\nAny previous Java x64 version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp064.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% x64">> "%~dp064.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp064.cfg"
    ECHO FinishMessage="Java %MAJ% Update %MIN% x64 has been installed.">> "%~dp064.cfg"
    ECHO GUIMode="1">> "%~dp064.cfg"
    ECHO GUIFlags="6153">> "%~dp064.cfg"
    ECHO MiscFlags="4">> "%~dp064.cfg"
    ECHO RunProgram="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO RunProgram="x64:jre64_inst.msi /qb!">> "%~dp064.cfg"
    ECHO AutoInstall="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO AutoInstall="x64:jre64_inst.msi /qn">> "%~dp064.cfg"
    ECHO AutoInstall1="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO AutoInstall1="x64:jre64_inst.msi /qn WEB_JAVA=0">> "%~dp064.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp064.cfg"
    ECHO. >> "%~dp064.cfg"
    GOTO :EOF
     
     
     
    :CONFIG_AIO
    ECHO ;!@Install@!UTF-8!> "%~dp0AIO.cfg"
    ECHO SetEnvironment="swUninst_x64=HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="swUninst_x86=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="DelOldVer=%%%%P:hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_%%%%P%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F832[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="DelOldVer64=hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_x86%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F864[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp0AIO.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% DUAL">> "%~dp0AIO.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% DUAL with Web plugins\nAny previous Java version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp0AIO.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% DUAL">> "%~dp0AIO.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp0AIO.cfg"
    ECHO FinishMessage="Java %MAJ% Update %MIN% DUAL has been installed.">> "%~dp0AIO.cfg"
    ECHO GUIMode="1">> "%~dp0AIO.cfg"
    ECHO GUIFlags="6153">> "%~dp0AIO.cfg"
    ECHO MiscFlags="4">> "%~dp0AIO.cfg"
    ECHO RunProgram="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO RunProgram="jre_inst.msi /qb!">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:jre64_inst.msi /qb!">> "%~dp0AIO.cfg"
    ECHO RunProgram="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="jre_inst.msi /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:jre64_inst.msi /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="jre_inst.msi /qn WEB_JAVA=0">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:jre64_inst.msi /qn WEB_JAVA=0">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp0AIO.cfg"
    ECHO. >> "%~dp0AIO.cfg"
    GOTO :EOF
     
     
     
    :ENTRIES_INI
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% x86>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER%>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
    :ENTRIES_INI_64
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% x64>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER64%>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER64%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER64%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
     
    :ENTRIES_INI_AIO
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% Dual>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER%_x86 + 1.%JAVAVER64%_x64>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER64%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER64%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
     
    :GETJAVAVER
    if /i "%1" GTR "%JAVAFILE%" (set JAVAFILE=%1&&set JAVAFN=%~n1)
    goto :eof
     
    :GETJAVAVER64
    if /i "%1" GTR "%JAVAFILE64%" (set JAVAFILE64=%1&&set JAVAFN64=%~n1)
    goto :eof
     
    :NoJavaInst
    echo ================================================================================
    echo ================================================================================
    echo. JRE x86 and/or x64 redistributable not found.  
    echo. Place it/them in the same directory than this script.
    echo. Correct JRE install name for x86 is "jre-XuXX-windows-i586.exe".
    echo. Correct JRE install name for x64 is "jre-XuXX-windows-x64.exe".
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
     
    :NoResExtr
    echo ================================================================================
    echo ================================================================================
    echo. NirSoft ResourcesExtract not found. Download and unpack it in "bin" directory.
    echo. Get it here - http://nirsoft.net/utils/resources_extract.html
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
     
    :No7za
    echo ================================================================================
    echo ================================================================================
    echo. 7za.exe not found. Download and unpack it in "bin" directory.
    echo. Get it here - http://sourceforge.net/projects/sevenzip/files/7-Zip/
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
    :No7SFX
    echo ================================================================================
    echo ================================================================================
    echo. JavaInst.sfx not found. Place it in "bin" directory.
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
  2. Like
    papageorgiou got a reaction from stashekmajcherc in Java Multi Maker   
    Here was my solution.
     
    I first noticed with 8u20 that the 64bit version when extracted had different file names so the rename commands failed.
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_101_JAVA_INSTALLER.bin" jre64_inst.msi
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_102_JAVA_INSTALLER.bin" Data1.cab
     
    needed to be changed to
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
     
    Then with 8u25, the files did not extract correctly, so I changed the script (see below) to launch the exe(s) and then grab the msi from the profile temp and then kill the exe(s).  It seems to work nicely so far.
     
    The lines in bold are where the changes can be found.
     
    @echo off
    setlocal enableextensions
    if not exist "%~dp0bin\7za.exe" goto :No7za
    if not exist "%~dp0bin\JavaInst.sfx" goto :No7SFX
    if not exist "%~dp0bin\ResourcesExtract.exe" goto :NoResExtr
    SET SZ="%~dp0bin\7za.exe"
    if exist "%~dp0jre-*-windows-i586.exe" GOTO :X86
    if not exist "%~dp0jre-*-windows-i586.exe" GOTO :X64
     
     
     
    :X86
    if exist "%~dp0jre-*-windows-x64.exe" GOTO :DUAL
    set JAVAFILE=
    for %%j in (%~dp0jre-*-windows-i586.exe) do call :GETJAVAVER %%~nxj
    if "%JAVAFILE%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%j in ("%JAVAFILE%") do set JAVAVER=%%j
    SET MAJ=%JAVAVER:~0,1%
    SET MIN=%JAVAVER:~2,3%
    if exist "%~dp0JRE_TEMP" rmdir /s /q "%~dp0JRE_TEMP"
    mkdir "%~dp0JRE_TEMP"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE%" /DestFolder "%~dp0JRE_TEMP" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_101_JAVA_INSTALLER.bin" jre_inst.msi
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_102_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP\%JAVAFN%*"
     
    ECHO.
    ECHO Launching JRE 32bit to grab msi . . .
    start "Launching JRE 32bit to grab msi . . ." "%~dp0%JAVAFILE%"
    if exist "%~dp0JRE_ADMAIO" rmdir /s /q "%~dp0JRE_ADMAIO"
    mkdir "%~dp0JRE_ADMAIO"
    :DUAL32BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL32BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP\jre_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP\jre_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADM"
    rmdir /s /q "%~dp0JRE_TEMP"
    %SZ% a "%~dp0JavaInst.7z" "%~dp0JRE_ADM\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp032.cfg"+"%~dp0JavaInst.7z" "%~dp0Java%JAVAVER%.exe"
    rmdir /s /q "%~dp0JRE_ADM"
    del /f /q "%~dp0JavaInst.7z"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER%.exe" "%~dp0svcpack\Java%JAVAVER%.exe"
    call :ENTRIES_INI
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp032.cfg"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
    :X64
    set JAVAFILE64=
    for %%k in (%~dp0jre-*-windows-x64.exe) do call :GETJAVAVER64 %%~nxk
    if "%JAVAFILE64%"=="" goto :NoJavaInst
    if not exist "%~dp0bin\ResourcesExtract.exe" goto :NoResExtr
    for /f "delims=- tokens=2" %%k in ("%JAVAFILE64%") do set JAVAVER64=%%k
    SET MAJ=%JAVAVER64:~0,1%
    SET MIN=%JAVAVER64:~2,3%
    echo JRE newest version found^: 1.%JAVAVER64%
    echo Java file name only - %JAVAFN64%
    if exist "%~dp0JRE_TEMP64" rmdir /s /q "%~dp0JRE_TEMP64"
    mkdir "%~dp0JRE_TEMP64"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE64%" /DestFolder "%~dp0JRE_TEMP64" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP64\%JAVAFN64%*"
     
    ECHO.
    ECHO Launching JRE 64bit to grab msi . . .
    start "Launching JRE 64bit to grab msi . . ." "%~dp0%JAVAFILE64%"
    :DUAL64BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL64BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP64\jre64_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE64%
     
    if exist "%~dp0JRE_ADM64" rmdir /s /q "%~dp0JRE_ADM64"
    mkdir "%~dp0JRE_ADM64"
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP64\jre64_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADM64"
    rmdir /s /q "%~dp0JRE_TEMP64"
    %SZ% a "%~dp0JavaInst-x64.7z" "%~dp0JRE_ADM64\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG_64
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp064.cfg"+"%~dp0JavaInst-x64.7z" "%~dp0Java%JAVAVER64%-x64.exe"
    rmdir /s /q "%~dp0JRE_ADM64"
    del /f /q "%~dp0JavaInst-x64.7z"
    del /f /q "%~dp064.cfg"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER64%-x64.exe" "%~dp0svcpack\Java%JAVAVER64%.exe"
    call :ENTRIES_INI_64
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_x64_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
     
    :DUAL
    set JAVAFILE=
    for %%j in (%~dp0jre-*-windows-i586.exe) do call :GETJAVAVER %%~nxj
    if "%JAVAFILE%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%j in ("%JAVAFILE%") do set JAVAVER=%%j
    SET MAJ=%JAVAVER:~0,1%
    SET MIN=%JAVAVER:~2,3%
    echo JRE newest version found^: 1.%JAVAVER%
    echo Java file name only - %JAVAFN%
    if exist "%~dp0JRE_TEMP" rmdir /s /q "%~dp0JRE_TEMP"
    mkdir "%~dp0JRE_TEMP"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE%" /DestFolder "%~dp0JRE_TEMP" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_101_JAVA_INSTALLER.bin" jre_inst.msi
    ::ren "%~dp0JRE_TEMP\%JAVAFN%_102_JAVA_INSTALLER.bin" Data1.cab
    ::del /f /q "%~dp0JRE_TEMP\%JAVAFN%*"
     
    ECHO.
    ECHO Launching JRE 32bit to grab msi . . .
    start "Launching JRE 32bit to grab msi . . ." "%~dp0%JAVAFILE%"
    if exist "%~dp0JRE_ADMAIO" rmdir /s /q "%~dp0JRE_ADMAIO"
    mkdir "%~dp0JRE_ADMAIO"
    :DUAL32BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL32BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP\jre_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP\jre_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADMAIO"
    rmdir /s /q "%~dp0JRE_TEMP"
     
    ECHO.
     
    set JAVAFILE64=
    for %%k in (%~dp0jre-*-windows-x64.exe) do call :GETJAVAVER64 %%~nxk
    if "%JAVAFILE64%"=="" goto :NoJavaInst
    for /f "delims=- tokens=2" %%k in ("%JAVAFILE64%") do set JAVAVER64=%%k
    echo JRE newest version found^: 1.%JAVAVER64%
    echo Java file name only - %JAVAFN64%
    if exist "%~dp0JRE_TEMP64" rmdir /s /q "%~dp0JRE_TEMP64"
    mkdir "%~dp0JRE_TEMP64"
    ::start /w "Unpacking JRE..." "%~dp0bin\ResourcesExtract.exe" /Source "%~dp0%JAVAFILE64%" /DestFolder "%~dp0JRE_TEMP64" /ExtractIcons 0 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 1 /ScanSubFolders 0 /FileExistMode 1 /OpenDestFolder 0
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_105_JAVA_INSTALLER.bin" jre64_inst.msi
    ::ren "%~dp0JRE_TEMP64\%JAVAFN64%_103_JAVA_INSTALLER.bin" Data1.cab
     
    ECHO.
    ECHO Launching JRE 64bit to grab msi . . .
    start "Launching JRE 64bit to grab msi . . ." "%~dp0%JAVAFILE64%"
    :DUAL64BITLOOP
    IF NOT EXIST "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" GOTO :DUAL64BITLOOP
    ping -n 10 127.0.0.1>nul
    copy "%USERPROFILE%\AppData\LocalLow\Sun\Java\jre1.%MAJ%.0_%MIN%_x64\jre1.%MAJ%.0_%MIN%.msi" "%~dp0JRE_TEMP64\jre64_inst.msi"
    ping -n 2 127.0.0.1>nul
    TASKKILL /F /IM %JAVAFILE64%
     
    start /w "Creating administrative installation point..." msiexec /a "%~dp0JRE_TEMP64\jre64_inst.msi" /qb! TARGETDIR="%~dp0JRE_ADMAIO"
    rmdir /s /q "%~dp0JRE_TEMP64"
    %SZ% a "%~dp0JavaInst-AIO.7z" "%~dp0JRE_ADMAIO\*" -mx=9 -mmt=off -m0=BCJ2 -m1=LZMA:d27:fb=128:mc=256 -m2=LZMA:d24:fb=128:mc=256 -m3=LZMA:d24:fb=128:mc=256 -mb0:1 -mb0s1:2 -mb0s2:3 -r
    call :CONFIG_AIO
    copy /b /y "%~dp0bin\JavaInst.sfx"+"%~dp0AIO.cfg"+"%~dp0JavaInst-AIO.7z" "%~dp0Java%JAVAVER64%-Dual.exe"
    rmdir /s /q "%~dp0JRE_ADMAIO"
    del /f /q "%~dp0JavaInst-AIO.7z"
    del /f /q "%~dp0AIO.cfg"
    mkdir "%~dp0svcpack"
    copy /b /y "%~dp0Java%JAVAVER64%-Dual.exe" "%~dp0svcpack\Java%JAVAVER64%.exe"
    call :ENTRIES_INI_AIO
    %SZ% a "%~dp0Java_Runtime_%MAJ%_update_%MIN%_Dual_AddOn.zip" "%~dp0ENTRIES_Java.ini" "%~dp0svcpack"
    del /f /q "%~dp0ENTRIES_Java.ini"
    rmdir /s /q "%~dp0svcpack"
    exit /b
     
     
     
    :CONFIG
    ECHO ;!@Install@!UTF-8!> "%~dp032.cfg"
    ECHO SetEnvironment="swUninst_x64=HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp032.cfg"
    ECHO SetEnvironment="swUninst_x86=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp032.cfg"
    ECHO SetEnvironment="DelOldVer=%%%%P:hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_%%%%P%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F832[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp032.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% x86 with Web plugins\nAny previous Java x86 version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp032.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% x86">> "%~dp032.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp032.cfg"
    ECHO FinishMessage="Java SE %MAJ% Update %MIN% x86 has been installed.">> "%~dp032.cfg"
    ECHO GUIMode="1">> "%~dp032.cfg"
    ECHO GUIFlags="6153">> "%~dp032.cfg"
    ECHO MiscFlags="4">> "%~dp032.cfg"
    ECHO RunProgram="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO RunProgram="jre_inst.msi /qb!">> "%~dp032.cfg"
    ECHO RunProgram="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO RunProgram="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO AutoInstall="jre_inst.msi /qn">> "%~dp032.cfg"
    ECHO AutoInstall="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall1="%%DelOldVer%% /qn">> "%~dp032.cfg"
    ECHO AutoInstall1="jre_inst.msi /qn WEB_JAVA=0">> "%~dp032.cfg"
    ECHO AutoInstall1="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO AutoInstall1="x64:hidcon:cmd /c \"%programfiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp032.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp032.cfg"
    ECHO. >> "%~dp032.cfg"
    GOTO :EOF
     
     
     
    :CONFIG_64
    ECHO ;!@Install@!UTF-8!> "%~dp064.cfg"
    ECHO SetEnvironment="swUninst=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp064.cfg"
    ECHO SetEnvironment="DelOldVer64=hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F864[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp064.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% x64">> "%~dp064.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% x64 with Web plugins\nAny previous Java x64 version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp064.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% x64">> "%~dp064.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp064.cfg"
    ECHO FinishMessage="Java %MAJ% Update %MIN% x64 has been installed.">> "%~dp064.cfg"
    ECHO GUIMode="1">> "%~dp064.cfg"
    ECHO GUIFlags="6153">> "%~dp064.cfg"
    ECHO MiscFlags="4">> "%~dp064.cfg"
    ECHO RunProgram="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO RunProgram="x64:jre64_inst.msi /qb!">> "%~dp064.cfg"
    ECHO AutoInstall="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO AutoInstall="x64:jre64_inst.msi /qn">> "%~dp064.cfg"
    ECHO AutoInstall1="x64:%%DelOldVer64%% /qn">> "%~dp064.cfg"
    ECHO AutoInstall1="x64:jre64_inst.msi /qn WEB_JAVA=0">> "%~dp064.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp064.cfg"
    ECHO. >> "%~dp064.cfg"
    GOTO :EOF
     
     
     
    :CONFIG_AIO
    ECHO ;!@Install@!UTF-8!> "%~dp0AIO.cfg"
    ECHO SetEnvironment="swUninst_x64=HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="swUninst_x86=HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="DelOldVer=%%%%P:hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_%%%%P%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F832[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp0AIO.cfg"
    ECHO SetEnvironment="DelOldVer64=hidcon:cmd /c For /F \"tokens=2 delims={}\" %%a In ('Reg Query %%swUninst_x86%% ^| FINDSTR \"{26A24AE4-039D-4CA4-87B4-2F864[0-9A-F]*}\"') Do MsiExec /x{%%a}">> "%~dp0AIO.cfg"
    ECHO Title="Java SE Runtime Environment %MAJ% Update %MIN% DUAL">> "%~dp0AIO.cfg"
    ECHO BeginPrompt="\n\nThis will install Java %MAJ% Update %MIN% DUAL with Web plugins\nAny previous Java version(s) will be uninstalled first\n\n\nAvailable command-line switch:\n\n-ai\tSilent installation with Web plugins\n-ai1\tSilent installation without Web plugins\n\nClick \"OK\" to begin installation.  Click \"Cancel\" to exit.">> "%~dp0AIO.cfg"
    ECHO ExtractTitle="Java SE Runtime Environment %MAJ% Update %MIN% DUAL">> "%~dp0AIO.cfg"
    ECHO ExtractDialogText="Please wait while the installation routine is extracted">> "%~dp0AIO.cfg"
    ECHO FinishMessage="Java %MAJ% Update %MIN% DUAL has been installed.">> "%~dp0AIO.cfg"
    ECHO GUIMode="1">> "%~dp0AIO.cfg"
    ECHO GUIFlags="6153">> "%~dp0AIO.cfg"
    ECHO MiscFlags="4">> "%~dp0AIO.cfg"
    ECHO RunProgram="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO RunProgram="jre_inst.msi /qb!">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:jre64_inst.msi /qb!">> "%~dp0AIO.cfg"
    ECHO RunProgram="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO RunProgram="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="jre_inst.msi /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:jre64_inst.msi /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="%%DelOldVer%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:%%DelOldVer64%% /qn">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="jre_inst.msi /qn WEB_JAVA=0">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:jre64_inst.msi /qn WEB_JAVA=0">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x86:hidcon:cmd /c \"%programfiles%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO AutoInstall1="x64:hidcon:cmd /c \"%ProgramFiles(x86)%\\Java\\jre%MAJ%\\bin\\jqs.exe\" -unregister">> "%~dp0AIO.cfg"
    ECHO ;!@InstallEnd@!>> "%~dp0AIO.cfg"
    ECHO. >> "%~dp0AIO.cfg"
    GOTO :EOF
     
     
     
    :ENTRIES_INI
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% x86>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER%>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
    :ENTRIES_INI_64
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% x64>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER64%>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER64%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER64%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
     
    :ENTRIES_INI_AIO
    ECHO [general]> "%~dp0ENTRIES_Java.ini"
    ECHO builddate=%date%>> "%~dp0ENTRIES_Java.ini"
    ECHO description=Java SE Runtime Environment %MAJ% update %MIN% Dual>> "%~dp0ENTRIES_Java.ini"
    ECHO language=Multi>> "%~dp0ENTRIES_Java.ini"
    ECHO version=1.%JAVAVER%_x86 + 1.%JAVAVER64%_x64>> "%~dp0ENTRIES_Java.ini"
    ECHO website=http://www.java.com/>>"%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [EditFile]>> "%~dp0ENTRIES_Java.ini"
    ECHO I386\SVCPACK.INF,SetupHotfixesToRun,AddProgram>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO [AddProgram]>> "%~dp0ENTRIES_Java.ini"
    ECHO Java%JAVAVER64%.exe -ai>> "%~dp0ENTRIES_Java.ini"
    ECHO. >> "%~dp0ENTRIES_Java.ini"
    ECHO ; "Java%JAVAVER64%.exe -ai1" for install without Web plugins>> "%~dp0ENTRIES_Java.ini"
    GOTO :EOF
     
     
    :GETJAVAVER
    if /i "%1" GTR "%JAVAFILE%" (set JAVAFILE=%1&&set JAVAFN=%~n1)
    goto :eof
     
    :GETJAVAVER64
    if /i "%1" GTR "%JAVAFILE64%" (set JAVAFILE64=%1&&set JAVAFN64=%~n1)
    goto :eof
     
    :NoJavaInst
    echo ================================================================================
    echo ================================================================================
    echo. JRE x86 and/or x64 redistributable not found.  
    echo. Place it/them in the same directory than this script.
    echo. Correct JRE install name for x86 is "jre-XuXX-windows-i586.exe".
    echo. Correct JRE install name for x64 is "jre-XuXX-windows-x64.exe".
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
     
    :NoResExtr
    echo ================================================================================
    echo ================================================================================
    echo. NirSoft ResourcesExtract not found. Download and unpack it in "bin" directory.
    echo. Get it here - http://nirsoft.net/utils/resources_extract.html
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
     
    :No7za
    echo ================================================================================
    echo ================================================================================
    echo. 7za.exe not found. Download and unpack it in "bin" directory.
    echo. Get it here - http://sourceforge.net/projects/sevenzip/files/7-Zip/
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
     
    :No7SFX
    echo ================================================================================
    echo ================================================================================
    echo. JavaInst.sfx not found. Place it in "bin" directory.
    echo ================================================================================
    echo ================================================================================
    pause
    goto :eof
×
×
  • Create New...