@ECHO OFF
Setlocal EnableDelayedExpansion

ECHO Installing HPE Managed System Setup Wizard...
echo This might take some time please wait...
:: Creating LogFile with time stamp
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
set mytime=%mytime: =0%

:: Creating LogFile Folder 
if not exist "%SystemDrive%\HPIC\logs\LimitedRelease2" mkdir "%SystemDrive%\HPIC\logs\LimitedRelease2"
set LOGFILE=%SystemDrive%\HPIC\logs\LimitedRelease2\mssw_%mydate%_%mytime%.log
ECHO Installing HPE Managed System Setup Wizard...                                                                                                           >> %LOGFILE%
echo This might take some time please wait...                                                                                                                >> %LOGFILE%
echo [%DATE% %TIME%] LogFile Path: %LOGFILE%                                                                                                                 >> %LOGFILE%

:: Getting mssw Installation Path from Registry
FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\Hewlett-Packard\Managed System Setup Wizard" /v InstallPath') DO set MSSWInstallPath=%%B
echo [%DATE% %TIME%] Reading mssw Install path from registry                                                                                                 >> %LOGFILE% 
echo [%DATE% %TIME%] mssw InstallPath: %MSSWInstallPath%                                                                                                     >> %LOGFILE% 

:: Getting SIM Installation Path from Registry
FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\Hewlett-Packard\Systems Insight Manager\Settings" /v InstallPath') DO set SIMInstallPath=%%B
echo [%DATE% %TIME%] Reading hpsim Install path from registry                                                                                                >> %LOGFILE% 
echo [%DATE% %TIME%] hpesim InstallPath: %SIMInstallPath%                                                                                                    >> %LOGFILE%
echo [%DATE% %TIME%] Appling Patch.                                                                                                                          >> %LOGFILE%

:: Creating Backup Folder
echo [%DATE% %TIME%]Creating Backup Folder:                                                                                                                  >> %LOGFILE% 
set MSSW=Managed System Setup Wizard

for /D %%D in ("%MSSWInstallPath%") do (
	set BackupInstallPath=%%~dpD
)
if exist "%BackupInstallPath%LimitedRelease1\%MSSW%" rmdir /s /q "%BackupInstallPath%LimitedRelease1\%MSSW%" 
if not exist "%BackupInstallPath%LimitedRelease2\%MSSW%" mkdir "%BackupInstallPath%LimitedRelease2\%MSSW%" 
set BackupFolder=%BackupInstallPath%LimitedRelease2\%MSSW%
echo [%DATE% %TIME%]Backup Folder Path: %BackupFolder%                                                                                                       >> %LOGFILE% 

:: Copying files
:bp-tools.xml
echo [%DATE% %TIME%] Copying bp-tools.xml                                                  to "%MSSWInstallPath%\tools"                                      >> %LOGFILE%
copy /Y "%MSSWInstallPath%\tools\bp-tools.xml"                                                "%BackupFolder%\bp-tools.xml"                                  >NUL 2>&1   
copy /Y "%~dp0\File\tools\bp-tools.xml"                                                       "%MSSWInstallPath%\tools"                                      >NUL 2>&1    
if errorlevel 1 goto rollback 

echo [%DATE% %TIME%] Copying bp-tools.xml                                                  to "%SIMInstallPath%\config\preload-plugins\60\mssw\addfiles"     >> %LOGFILE%
copy /Y "%SIMInstallPath%\config\preload-plugins\60\mssw\addfiles\bp-tools.xml"               "%BackupFolder%\bp-tools.xml"                                  >NUL 2>&1   
copy /Y "%~dp0\File\tools\bp-tools.xml"                                                       "%SIMInstallPath%\config\preload-plugins\60\mssw\addfiles"     >NUL 2>&1    
if errorlevel 1 goto rollback 

:MSSW_migration.xml
echo [%DATE% %TIME%] Copying MSSW_migration.xml                                            to "%MSSWInstallPath%\migration"                                  >> %LOGFILE%
copy /Y "%MSSWInstallPath%\migration\MSSW_migration.xml"                                      "%BackupFolder%\MSSW_migration.xml"                            >NUL 2>&1   
copy /Y "%~dp0\File\migration\MSSW_migration.xml"                                             "%MSSWInstallPath%\migration"                                  >NUL 2>&1    
if errorlevel 1 goto rollback 

echo [%DATE% %TIME%] Copying MSSW_migration.xml                                            to "%SIMInstallPath%\config\migration"                            >> %LOGFILE%
copy /Y "%SIMInstallPath%\config\migration\MSSW_migration.xml"                                "%BackupFolder%\MSSW_migration.xml"                            >NUL 2>&1   
copy /Y "%~dp0\File\migration\MSSW_migration.xml"                                             "%SIMInstallPath%\config\migration"                            >NUL 2>&1     
if errorlevel 1 goto rollback 

:AddLicenseKey.jsp
echo [%DATE% %TIME%] Copying AddLicenseKey.jsp                                             to "%SIMInstallPath%\hpwebadmin\webapps\mssw.war"                 >> %LOGFILE%
copy /Y "%SIMInstallPath%\hpwebadmin\webapps\mssw.war\AddLicenseKey.jsp"                      "%BackupFolder%\AddLicenseKey.jsp"                             >NUL 2>&1   
copy /Y "%~dp0\File\mssw.war\AddLicenseKey.jsp"                                               "%SIMInstallPath%\hpwebadmin\webapps\mssw.war"                 >NUL 2>&1     
if errorlevel 1 goto rollback 

:taskresults.jsp
echo [%DATE% %TIME%] Copying taskresults.jsp                                             to "%SIMInstallPath%\hpwebadmin\webapps\mssw.war"                  >> %LOGFILE%
copy /Y "%SIMInstallPath%\hpwebadmin\webapps\mssw.war\taskresults.jsp"                      "%BackupFolder%\taskresults.jsp"                                >NUL 2>&1   
copy /Y "%~dp0\File\mssw.war\taskresults.jsp"                                               "%SIMInstallPath%\hpwebadmin\webapps\mssw.war"                  >NUL 2>&1     
if errorlevel 1 goto rollback 

:server-config.wsdd
echo [%DATE% %TIME%] Copying server-config.wsdd                                            to "%SIMInstallPath%\hpwebadmin\webapps\mssw.war\WEB-INF"         >> %LOGFILE%
copy /Y "%SIMInstallPath%\hpwebadmin\webapps\mssw.war\WEB-INF\server-config.wsdd"             "%BackupFolder%\server-config.wsdd"                            >NUL 2>&1    
copy /Y "%~dp0File\WEB-INF\server-config.wsdd"                                                "%SIMInstallPath%\hpwebadmin\webapps\mssw.war\WEB-INF"         >NUL 2>&1     
if errorlevel 1 goto rollback 

:help
echo [%DATE% %TIME%] Copying mssw-help.zip                                                 to "%MSSWInstallPath%\help"                                       >> %LOGFILE%
copy /Y "%MSSWInstallPath%\help\mssw-help.zip"                                                "%BackupFolder%\mssw-help.zip"                                 >NUL 2>&1    
copy /Y "%~dp0File\help\mssw-help.zip"                                                        "%MSSWInstallPath%\help"                                       >NUL 2>&1     
if errorlevel 1 goto rollback 

echo [%DATE% %TIME%] All files copied successfully.                                                                                                          >> %LOGFILE%

echo [%DATE% %TIME%] msswinitconfig is executing... 					                                                                                     >> %LOGFILE%
echo [%DATE% %TIME%] msswinitconfig is executing. This will take some time. Please wait...                                                                   >> %LOGFILE%
call "%MSSWInstallPath%\init\msswinitconfig.bat" "%SIMInstallPath%\j2re\bin" "%MSSWInstallPath%\init" -u                                                     >> %LOGFILE% >NUL 2>&1
if errorlevel 1 goto rollback

:: For successful MSSW Patch installation 7.6.2 registry created in below registry path 
REG ADD "HKLM\Software\Hewlett-Packard\Managed System Setup Wizard" /v LRversion /t REG_SZ /d 7.6.2 /f  >NUL 2>&1
echo [%DATE% %TIME%] Installation completed successfully.                                                                                                    >> %LOGFILE%
echo Installation completed successfully.
echo.
echo Success>"%SystemDrive%\HPIC\logs\LimitedRelease2\mssw_output.txt"
exit /B %ERROELEVEL%   

:rollback
echo Fail>"%SystemDrive%\HPIC\logs\LimitedRelease2\mssw_output.txt"
echo [%DATE% %TIME%] Failed to install, see %LOGFILE% for details.                                                                                           >> %LOGFILE%
echo Failed to install, see %LOGFILE% for details.
call "%~dp0\rollback.bat"
EXIT /B %ERRORLEVEL%
endlocal

