REM  Hitachi SVP                              
REM  JAVA Update tool for Hitachi SVP
REM                 Copy right. 2020  Hitachi. Ltd. 
REM
REM History  :Version    :DATE        : Coder        : Patch No
REM Hitachi SVP
REM          :01-01      :2016.06.21  : S.Moriya  : xxxxxxxxx (New)
REM          :01-02      :2017.06.21  : S.Moriya  : xxxxx 
REM          :01-03      :2017.10.31  : S.Moriya  : #39265
REM          :01-04      :2018.02.16  : Y.Kumagai : #44854 (Remote Micro Exchange Support)
REM          :01-05      :2018.03.30  : H.Satou   : #43501 (Windows10 SVP support for RAID800)
REM          :01-06      :2018.08.23  : S.Moriya  : #56580,#56719
REM          :01-07      :2018.10.25  : Y.Kawaguchi: #60303
REM          :01-08      :2018.10.31  : Y.Kawaguchi: #61457
REM          :01-09      :2018.11.01  : A.Mikami  : #61546
REM          :01-10      :2018.11.09  : Y.Kawaguchi: #62200
REM          :01-11      :2018.11.14  : Y.Kawaguchi: #62575
REM          :01-12      :2018.11.16  : Y.Kawaguchi: #62761
REM          :01-13      :2019.02.19  : S.Moriya   : #69400
REM          :01-14      :2019.03.12  : S.Moriya   : #71080
REM          :01-15      :2019.04.26  : S.Moriya   : #15536
REM          :01-16      :2019.07.23  : S.Moriya   : #80942
REM          :01-17      :2019.11.12  : S.Moriya   : #88862
REM          :01-18      :2020.01.17  : S.Moriya   : #92830
REM

set JDK_UNINST_LOGFILE="C:\DKC200\san\cgi-bin\Utility\JDK_UNINST_log.txt"
set JRE_UNINST_LOGFILE="C:\DKC200\san\cgi-bin\Utility\JRE_UNINST_log.txt"
set JAVA_X86_DIR="C:\Program Files (x86)\Java\jre7"
set JAVA_DIR="C:\Program Files\Java\jre7"
set JAVALIBS_DIR="C:\DKC200\OSS\java_libs"
set JAVA_FILE="C:\Program Files (x86)\Java\jre7\bin\java.exe"
set JAVA_FILE_64="C:\Program Files\Java\jre7\bin\java.exe"

taskkill /im java.exe /f 2>>&1
taskkill /im javaw.exe /f 2>>&1

echo Delete java.exe of Windows system

del C:\Windows\SysWOW64\java.exe 2>>&1
del C:\Windows\SysWOW64\javaw.exe 2>>&1
del C:\Windows\SysWOW64\javaws.exe 2>>&1

del C:\Windows\Sysnative\java.exe 2>>&1
del C:\Windows\Sysnative\javaw.exe 2>>&1
del C:\Windows\Sysnative\javaws.exe 2>>&1

del C:\Windows\System32\java.exe 2>>&1
del C:\Windows\System32\javaw.exe 2>>&1
del C:\Windows\System32\javaws.exe 2>>&1

del C:\Windows\java.exe 2>>&1
del C:\Windows\javaw.exe 2>>&1
del C:\Windows\javaws.exe 2>>&1

set WIN_8=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
	set WINDOWS_MINOR_VER=%%j
)

if %WINDOWS_MAJOR_VER% geq 7 (
	set WIN_8=yes
)


if %WINDOWS_MAJOR_VER% equ 6 (
	if %WINDOWS_MINOR_VER% geq 2 (
		set WIN_8=yes
	)
)

@REM Java11 x64
echo Java11 or later ^(x64^) Uninstall
reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" > nul 2>nul
if NOT %ERRORLEVEL% == 0 (
	GOTO :SKIP_UNINSTALL_JAVA11
)
echo delete Java11 or later ^(x64^)
rmdir /S /Q %JAVA_DIR% 2>>&1

if EXIST %JAVA_DIR% (
	echo "Remain Java(64bit) install directory." 2>>&1

	if "%WIN_8%" equ "yes" (
		setup\DelOnReboot45.exe %JAVA_DIR% 2>>&1
	) else (
		setup\DelOnReboot.exe %JAVA_DIR% 2>>&1
	)

	echo "Please reboot SVP to delete the remaining Java(64bit) files."
	echo "Please reboot SVP to delete the remaining Java(64bit) files." 1>>&2
)

reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" /reg:64 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" /reg:32 /f 2>>&1

setx JAVA_VERSION "" /M 2>>&1
set JAVA_VERSION=

:SKIP_UNINSTALL_JAVA11

@REM Java11 x86
echo Java11 or later Uninstall
reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersionX86" > nul 2>nul
if NOT %ERRORLEVEL% == 0 (
	GOTO :SKIP_UNINSTALL_JAVA11_X86
)

echo delete Java11 or later
rmdir /S /Q %JAVA_X86_DIR% 2>>&1

if EXIST %JAVA_X86_DIR% (
	echo "Remain Java install directory." 2>>&1

	if "%WIN_8%" equ "yes" (
		setup\DelOnReboot45.exe %JAVA_X86_DIR% 2>>&1
	) else (
		setup\DelOnReboot.exe %JAVA_X86_DIR% 2>>&1
	)

	echo "Please reboot SVP to delete the remaining Java files."
	echo "Please reboot SVP to delete the remaining Java files." 1>>&2
)

reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /reg:64 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.1+13" /reg:64 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.2+9" /reg:64 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.3+7" /reg:64 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.4+11" /reg:64 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.5+10" /reg:64 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /reg:64 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7" /reg:32 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.1+13" /reg:32 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.2+9" /reg:32 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.3+7" /reg:32 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.4+11" /reg:32 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.5+10" /reg:32 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\11.0.6+10" /reg:32 /f
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPLauncher" /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.jnlp" /f 2>>&1
reg DELETE "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp" /f 2>>&1

reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersionX86" /reg:64 /f 2>>&1
reg DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersionX86" /reg:32 /f 2>>&1

setx JAVA_VERSION_X86 "" /M 2>>&1
set JAVA_VERSION_X86=

:SKIP_UNINSTALL_JAVA11_X86

@REM java_libs
echo java libs Uninstall
rmdir /S /Q %JAVALIBS_DIR%

if EXIST %JAVALIBS_DIR% (
	echo "Remain Java library directory." 2>>&1

	if "%WIN_8%" equ "yes" (
		setup\DelOnReboot45.exe %JAVALIBS_DIR% 2>>&1
	) else (
		setup\DelOnReboot.exe %JAVALIBS_DIR% 2>>&1
	)

	echo "Please reboot SVP to delete the remaining Java files."
	echo "Please reboot SVP to delete the remaining Java files." 1>>&2
)

@rem javakTMl8 Update 181 x64
echo JRE 8 Update 181 ^(64-bit^) Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F64180181F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"

@rem javakTMl8 Update 181
echo JRE 8 Update 181 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F32180181F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMl8 Update 162 x64
echo JRE 8 Update 162 ^(64-bit^) Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F64180162F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"

REM #56719
REM if %errorlevel%==3010 (
REM @ goto :END
REM )

@rem javakTMl8 Update 162
echo JRE 8 Update 162 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F32180162F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMl8 Update 152
echo JRE 8 Update 152 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F32180152F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMl8 Update 77
echo JRE 8 Update 77 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F83218077F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMlSE Development kit 8 Update 45
echo JDK 8 Update 45 Uninstall

MsiExec.exe /qn /x {32A3A4F4-B792-11D6-A78A-00B0D0180450} /norestart /L %JDK_UNINST_LOGFILE%
echo "error:%errorlevel%"

@rem javakTMl8 Update 45
echo JRE 8 Update 45 Uninstall

MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F83218045F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMlSE Development kit 7 Update 21
echo JDK 7 Update 21 Uninstall
MsiExec.exe /qn /x {32A3A4F4-B792-11D6-A78A-00B0D0170210} /norestart /L %JDK_UNINST_LOGFILE%
echo "error:%errorlevel%"

@rem javakTMl7 Update 21
echo JRE 7 Update 21 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F83217021FF} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

@rem javakTMlSE Development kit 8 Update 31
echo JDK 8 Update 31 Uninstall
MsiExec.exe /qn /x {32A3A4F4-B792-11D6-A78A-00B0D0180310} /norestart /L %JDK_UNINST_LOGFILE%
echo "error:%errorlevel%"

@rem javakTMl8 Update 31
echo JRE 8 Update 31 Uninstall
MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F83218031F0} /norestart /L %JRE_UNINST_LOGFILE%
echo "error:%errorlevel%"
if %errorlevel%==0 (
@ goto :END
)

if %errorlevel%==3010 (
@ goto :END
)

REM #71080
if EXIST %JAVA_FILE% (
		echo # error: There is already "java.exe".
	) else if EXIST %JAVA_FILE_64% (
	echo # error: There is already "java.exe_x64".
) else (
	@ goto :END
)

exit 244

:END
exit /b 0
