@echo off
SETLOCAL enabledelayedexpansion
REM set DBG=echo

REM  Hitachi SVP                              
REM  Flash Tomcat 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-00      :2013.04.09  : 
REM          :01-01      :2014.06.16  : S.Moriya    : Y8592222339 (Tomcat7.0.54 is supported) 
REM          :01-01      :2014.07.09  : S.Moriya    : W77A2227860 (CheckAdmin,checkTomcat,dlete Tomcat)
REM          :01-02      :2015.02.17  : S.Moriya    : W77A2227902 (checkTomcat)
REM          :SVOS7.0.1  :2016.11.02  : M.Osawa     :      #15069 (Tomcat7.0.72 is supported)
REM          :01-03      :2018.02.16  : Y.Kumagai   : #44854 (Remote Micro Exchange Support)
REM          :01-04      :2018.04.04  : H.Satou     : #43501 (Windows10 SVP support for RAID800)
REM          :01-05      :2018.10.25  : Y.Kawaguchi : #60303 (Java11 support)
REM          :01-06      :2018.10.31  : Y.Kawaguchi : #61451 (Java11 with Windows10 was not worked)
REM          :01-07      :2018.11.09  : Y.Kawaguchi : #62200
REM          :01-07      :2018.11.12  : Y.Kawaguchi : #62575 (Remote Micro Exchange with Java11)
REM          :01-08      :2020.01.15  : S.Nagata    : #92863 (Tomcat7.0.99 is supported)
REM          :01-09      :2020.03.10  : T.Ishida    : #98215 (Tomcat7.0.100 is supported)
REM
REM Document
REM Apache Tomcat7 Installer
REM
REM 

set APACHEDIR="c:\Program files\Apache Group\Apache2\"
set TOMCATPATH="Tomcat\apache-tomcat-7.0.100.exe"
set JAVAAPSETUPPATH="SN2\JavaAPSetUp_Win7_64bit_Tomcat.bat"
set TOMCATSETUPPATH="SN2\TomcatSetUp_Win7_64bit.bat"
set TOMCATCONFIGDIR="tomcat\"
set TOMCATCONFIGPATH="tomcat_config.cnf"
set TOMCATCONFIGPATH_X64="tomcat_config_x64.cnf"
set SETTOMCATSVPATH="SN2\setTomcatService.bat"
set LOGFILE="c:\SN2Setup_log.txt"
set DLETE_TOMCAT="C:\Program Files ^(x86^)\Apache Software Foundation\Tomcat 7.0"

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

REM W77A2227860 from

REM whoami /group
for /f "tokens=1 delims=," %%i in ('whoami /groups /FO CSV /NH') do (
	if "%%~i"=="BUILTIN\Administrators" set ADMINISTRATOR=yes
	if "%%~i"=="Mandatory Label\High Mandatory Level" set ELEVATED=yes
	if "%%~i"=="Mandatory Label\System Mandatory Level" set ELEVATED=yes
)

REM Administrator user check
if "%ADMINISTRATOR%" neq "yes" (
	echo Not the Administrator user. Run the Administrator user
	pause
	exit 1
)

REM Elevation check
if "%ELEVATED%" neq "yes" (
	echo Must be "run as Administrator"
	pause
	exit 1
)

REM 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
)

REM JRE Check

if "%WIN_10%" equ "yes" (

	reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v "JavaVersion" > nul 2>nul
	if !ERRORLEVEL! == 0 (
	GOTO :tomcatinstall
	)

	reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products" > nul 2>nul
	if not !ERRORLEVEL! == 0 goto :tomcatinstall
	
	for /f "tokens=*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products" /s /v DisplayName') do (
		echo %%i >> C:\RegTemp.txt
	)

	findstr /R /I "Java.*Update.*(64-bit)" C:\RegTemp.txt > nul
	if not !ERRORLEVEL! == 0 (
		call :regTempDel
		echo JRE 64bit is not installed.
		echo JRE 64bit is not installed. >> %LOGFILE% 2>>&1
		pause
		exit 5
	)
	call :regTempDel
	
)

:tomcatinstall

REM Registry analyze

REG query "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat\7.0\Tomcat7" > nul 2> nul
IF !ERRORLEVEL! == 0 (
	set Tomcat=yes
)

REM Tomcat yes
if "%Tomcat%" equ "yes" (
	echo Tomcat7 is already installed
	echo Tomcat7 is already installed >> %LOGFILE% 2>>&1
	pause
	exit 63
)

REM dlete Tomcat

  taskkill /im tomcat7.exe /f >> %LOGFILE% 2>>&1

del /f /s /q %DLETE_TOMCAT% >> %LOGFILE% 2>>&1
rmdir /s /q %DLETE_TOMCAT% >> %LOGFILE% 2>>&1

REM W77A2227860 to

pushd %~dp0
call %JAVAAPSETUPPATH% %1 >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

echo # Run TomcatSetup.bat >> %LOGFILE% 2>>&1
pushd %~dp0
%DBG% call %TOMCATSETUPPATH% >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

pushd %~dp0
call %SETTOMCATSVPATH% >> %LOGFILE% 2>>&1
if not %errorlevel%==0 (
goto :error
)

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

echo Operation successful.
exit 0

:error
echo Error occured.
exit %errorlevel%

:regTempDel
del /Q C:\RegTemp.txt