@echo off
setlocal enabledelayedexpansion

REM  Hitachi SVP                               
REM  Apache Install tool for Hitachi SVP
REM       All Rights Reserved, Copyright (C) 2020,Hitachi, Ltd.
REM
REM History  :Version    :DATE        : Coder        : Patch No
REM Hitachi SVP 
REM          :01-01      :2015.11.20  : S.Moriya     : Y8012223453(JRE8 support)
REM          :01-02      :2017.11.01  : S.Moriya     : #39265
REM          :01-03      :2018.03.29  : H.Satou      : #43501
REM          :01-04      :2018.04.16  : S.Moriya     : #49897 
REM          :01-05      :2018.04.27  : Y.Usuki      : #43501
REM          :01-06      :2018.08.23  : S.Moriya     : #56580
REM          :01-07      :2018.10.25  : Y.Kawaguchi  : #60303
REM          :01-08      :2018.11.01  : A.Mikami     : #61546
REM          :01-09      :2018.11.07  : A.Mikami     : #61924
REM          :01-10      :2018.11.09  : Y.Kawaguchi  : #62200
REM          :01-11      :2018.11.09  : Y.Kawaguchi  : #62257
REM          :01-12      :2019.02.19  : S.Moriya     : #69400
REM          :01-13      :2019.04.26  : S.Moriya     : #74654
REM          :01-14      :2019.07.23  : S.Moriya     : #80942
REM          :01-15      :2019.11.12  : S.Moriya     : #88862
REM          :01-16      :2020.01.17  : S.Moriya     : #92830
REM Document
REM Windows7  OpenJDK11.0.6+10 Installer
REM Windows10 OpenJDK11.0.6+10(x64) Installer
REM
REM 

set LOGFILE="c:\SN2Setup_log.txt"
REM set dlete_JAVA="C:\ProgramData\Oracle\Java\javapath\java.exe"
REM set dlete_JAVAW="C:\ProgramData\Oracle\Java\javapath\javaw.exe"
REM set dlete_JAVAWS="C:\ProgramData\Oracle\Java\javapath\javaws.exe"
set JAVA_FILE="C:\Program Files (x86)\Java\jre7\bin\java.exe"
set JAVA_DIR="C:\Program Files (x86)\Java\jre7"
set JAVA_FILE_64="C:\Program Files\Java\jre7\bin\java.exe"
set JAVA_DIR_64="C:\Program Files\Java\jre7"

echo ----- >> %LOGFILE% 2>>&1
echo # Start Program >> %LOGFILE% 2>>&1
echo %date%-%time% >> %LOGFILE% 2>>&1
echo ----- >> %LOGFILE% 2>>&1

echo # Install Java. >> %LOGFILE% 2>>&1
echo Install Java.

@pushd %~dp0

REM 49897  from
if EXIST %JAVA_FILE% (
		echo # error: There is already "java.exe". >> %LOGFILE% 2>>&1
		@ goto :error
	)

if EXIST %JAVA_DIR% (
		echo Java delete >> %LOGFILE% 2>>&1
		rmdir /S /Q %JAVA_DIR%
	)

if EXIST %JAVA_FILE_64% (
	echo # error: There is already "java.exe_x64". >> %LOGFILE% 2>>&1
		@ goto :error
	)

if EXIST %JAVA_DIR_64% (
	echo Java_x64 delete >> %LOGFILE% 2>>&1
		rmdir /S /Q %JAVA_DIR_64%
	)
REM 49897  to

reg query HKEY_USERS\.DEFAULT\Software\Classes
if not %errorlevel%==0 reg add HKEY_USERS\.DEFAULT\Software\Classes /f /reg:64

echo Windows 10 version check
set WIN_10=no
for /f "tokens=2 delims=[]" %%i in ('ver') do (
	set WINDOWS_VER=%%i
)
for /f "tokens=2,3 delims=. " %%i in ('echo %WINDOWS_VER%') do (
	set WINDOWS_MAJOR_VER=%%i
)

if %WINDOWS_MAJOR_VER% geq 10 (
	set WIN_10=yes
)

if "%WIN_10%" equ "yes" (

	REM JRE Installer
	REM @start /w jdk-8u162-windows-i586.exe /s /INSTALLDIRPUBJRE="C:\Program Files (x86)\Java\jre7"
	call java\Java_inst_V11.0.6b10.bat >> %LOGFILE% 2>>&1
	echo "error:!errorlevel!" >> %LOGFILE% 2>>&1
	if not !errorlevel! == 0 (
		goto :error
	)

	REM JRE Installer
	REM @start /w jdk-8u162-windows-x64.exe /s /INSTALLDIRPUBJRE="C:\Program Files\Java\jre7"
	call java\Java_inst_V11.0.6b10_x64.bat >> %LOGFILE% 2>>&1
	echo "error:!errorlevel!" >> %LOGFILE% 2>>&1
	if not !errorlevel! == 0 (
		goto :error
	)

	reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" /d "11.0.6+10" /reg:64 /f >> %LOGFILE% 2>>&1
	reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" /d "11.0.6+10" /reg:32 /f >> %LOGFILE% 2>>&1


	setx JAVA_VERSION "11.0.6+10" /M
	set JAVA_VERSION=11.0.6+10
) else (

REM JRE Installer
REM @start /w jdk-8u45-windows-i586.exe /s /INSTALLDIRPUBJRE="C:\Program Files (x86)\Java\jre7"
call java\Java_inst_V11.0.6b10.bat >> %LOGFILE% 2>>&1
echo "error:!errorlevel!" >> %LOGFILE% 2>>&1
if not !errorlevel! == 0 (
goto :error

)

)

call java\JavaLibs_inst.bat >> %LOGFILE% 2>>&1

echo "error:!errorlevel!" >> %LOGFILE% 2>>&1
if not !errorlevel! == 0 (
goto :error

)

echo [Configure PATH]
echo %PATH% >> %LOGFILE% 2>>&1
REM setx PATH "%PATH%" /M >> %LOGFILE% 2>>&1

@REM dlete
REM del /q  %dlete_JAVA% >> %LOGFILE% 2>>&1
REM del /q  %dlete_JAVAW% >> %LOGFILE% 2>>&1
REM del /q  %dlete_JAVAWS% >> %LOGFILE% 2>>&1

set SYSTEM_PRM=%PATH%
echo [Before] %SYSTEM_PRM% >> %LOGFILE% 2>>&1

set "SYSTEM_PRM=%SYSTEM_PRM:C:\Program Files (x86)\Java\jre7\bin=%"
set "SYSTEM_PRM=C:\Program Files (x86)\Java\jre7\bin;C:\ProgramData\Oracle\Java\javapath;%SYSTEM_PRM%"
set "SYSTEM_PRM=%SYSTEM_PRM:;;=;%"

echo [After] %SYSTEM_PRM% >> %LOGFILE% 2>>&1
setx PATH "%SYSTEM_PRM%" /M

@REM Set Java_Reg_Entry (for Java11)
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /reg:64 /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /v JavaHome /d "C:\Program Files (x86)\Java\jre7" /reg:64 /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /reg:32 /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /v JavaHome /d "C:\Program Files (x86)\Java\jre7" /reg:32 /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /reg:64 /f  >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /v JavaHome /d "C:\Program Files\Java\jre7" /reg:64 /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /reg:32 /f  >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /v JavaHome /d "C:\Program Files (x86)\Java\jre7" /reg:32 /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher" /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher\shell" /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher\shell\open" /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher\shell\open\command" /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher\shell\open\command" /ve /d "\"C:\DKC200\san\SN2\tool\WCLauncher\WCLauncher.bat\" \"%%1\"" /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.jnlp" /ve /d "JNLPLauncher" /f >> %LOGFILE% 2>>&1

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersionX86" /d "11.0.6+10" /reg:64 /f >> %LOGFILE% 2>>&1
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersionX86" /d "11.0.6+10" /reg:32 /f >> %LOGFILE% 2>>&1

@REM Set Java_version
setx JAVA_VERSION_X86 "11.0.6+10" /M
set JAVA_VERSION_X86=11.0.6+10

echo ----- >> %LOGFILE% 2>>&1
echo # End Program >> %LOGFILE% 2>>&1
echo %date%-%time% >> %LOGFILE% 2>>&1
echo ----- >> %LOGFILE% 2>>&1

echo Operation successful.
exit /b 0

:error
echo Error occured.
exit /b 1

