@ echo off
Setlocal EnableDelayedExpansion
Echo Installing HPE Insight Control virtual machine management... 
echo This might take some time please wait...
:set
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%
if not exist "%SystemDrive%\HPIC\logs\LimitedRelease4" mkdir "%SystemDrive%\HPIC\logs\LimitedRelease4"
set LOGFILE=%SystemDrive%\HPIC\logs\LimitedRelease4\ICvirt_%mydate%_%mytime%.log
Echo [%date% %time%] Installing HPE Insight Control virtual machine management... >>%LOGFILE% 
echo [%date% %time%] This might take some time please wait...                     >>%LOGFILE% 
echo [%date% %time%] LogFile Path: %LOGFILE%     >>%LOGFILE%  
set OUTPUT=%SystemDrive%\HPIC\logs\LimitedRelease4\ICvirt_output.txt 
:main
echo [%date% %time%] Reading HPESIM installation path from Registry  >>%LOGFILE% 
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%] HPESIM installation path: %SIMInstallPath%    >>%LOGFILE% 
echo [%date% %time%] Reading VMM installation path from Registry  >>%LOGFILE% 
FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\HP\Insight Control virtual machine management" /v ExtensionBase') DO set VMMInstallPath=%%B

echo [%date% %time%] VMM installation path: %VMMInstallPath%      >>%LOGFILE% 
echo [%date% %time%] Creating Backup Folder:                     >>%LOGFILE% 
set ICvirt=Insight Control virtual machine management
for /D %%D in ("%VMMInstallPath%") do (
	set BackupInstallPath=%%~dpD
)
if exist "%BackupInstallPath%LimitedRelease1\%ICvirt%" rmdir /s /q "%BackupInstallPath%LimitedRelease1\%ICvirt%"   >>%LOGFILE% 
if exist "%BackupInstallPath%LimitedRelease3\%ICvirt%" rmdir /s /q "%BackupInstallPath%LimitedRelease3\%ICvirt%"   >>%LOGFILE% 
if not exist "%BackupInstallPath%LimitedRelease4\%ICvirt%" mkdir "%BackupInstallPath%LimitedRelease4\%ICvirt%"
set BackupFolder=%BackupInstallPath%LimitedRelease4\%ICvirt%
echo [%date% %time%] Backup Folder Path: %BackupFolder%          >>%LOGFILE% 
mkdir "%BackupFolder%\en"     >>%LOGFILE%  2>>&1 
mkdir "%BackupFolder%\jp"     >>%LOGFILE%  2>>&1 
mkdir "%BackupFolder%\zh_CN"  >>%LOGFILE%  2>>&1 
:doINSTALL
echo [%date% %time%] Copying files:                              >>%LOGFILE% 

:patch_vmm.jar in VMM
echo [%date% %time%] Copying patch_vmm.jar   in VMM directory   to "%VMMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\lib\patch_vmm.jar"                       "%BackupFolder%\patch_vmm.jar"  1>nul
copy /Y "%~dp0\File\patch_vmm.jar"                                   "%VMMInstallPath%\lib"          1>nul
if errorlevel 1 goto rollback

:cimclient.jar
echo [%date% %time%] Copying cimclient.jar                     to "%VMMInstallPath%\slib"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\slib\cimclient.jar"                     "%BackupFolder%\cimclient.jar"  1>nul
copy /Y "%~dp0\File\cimclient.jar "                                 "%VMMInstallPath%\slib"         1>nul
if errorlevel 1 goto rollback

:patch_vmm.jar in SIM 
echo [%date% %time%] Copying patch_vmm.jar in SIM directory    to "%SIMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%~dp0\File\patch_vmm.jar"                                  "%SIMInstallPath%\lib"  1>nul
if errorlevel 1 goto rollback

:ScvmmServiceRemoteInstaller.exe
echo [%date% %time%] Copying ScvmmServiceRemoteInstaller.exe   to "%VMMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\lib\ScvmmServiceRemoteInstaller.exe"    "%BackupFolder%\ScvmmServiceRemoteInstaller.exe"  1>nul
copy /Y "%~dp0\File\ScvmmServiceRemoteInstaller.exe"                "%VMMInstallPath%\lib"  1>nul
if errorlevel 1 goto rollback

:vmmPatchSimAbout.xml
echo [%date% %time%] Copying vmmPatchSimAbout.xml              to "%SIMInstallPath%\config\preload\76\addfile"  >>%LOGFILE% 
copy /Y "%~dp0\File\vmmPatchSimAbout.xml"                           "%SIMInstallPath%\config\preload\76\addfiles"  1>nul
:vmm_migration.xml
echo [%date% %time%] Copying vmm_migration.xml                 to "%SIMInstallPath%\config\migration"  >>%LOGFILE% 
copy /Y "%SIMInstallPath%\config\migration\vmm_migration.xml"     "%BackupFolder%\vmm_migration.xml"  1>nul
copy /Y "%~dp0\File\vmm_migration.xml"                             "%SIMInstallPath%\config\migration" 1>nul
:ScvmmWS2012.msi
echo [%date% %time%] Copying ScvmmWS2012.msi                   to "%VMMInstallPath%\bin"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\bin\ScvmmWS2012.msi "                   "%BackupFolder%\ScvmmWS2012.msi "  1>nul
copy /Y %~dp0\File\ScvmmWS2012.msi                                "%VMMInstallPath%\bin"             1>nul
:ScvmmWS.msi
echo [%date% %time%] Copying ScvmmWS.msi                      to "%VMMInstallPath%\bin"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\bin\ScvmmWS.msi"                       "%BackupFolder%\ScvmmWS.msi"        1>nul
copy /Y "%~dp0\File\ScvmmWS.msi"                                 "%VMMInstallPath%\bin"              1>nul

:index.html\en
echo [%date% %time%] Copying index.html                       to "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\en\content"  >>%LOGFILE% 
copy /Y   "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\en\content\index.html"       "%BackupFolder%\en\index.html"  1>nul
copy /Y   "%~dp0\File\HTML\en\index.html"                                    "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\en\content"  >NUL 2>&1 
if errorlevel 1 goto rollback
:index.html\jp
echo [%date% %time%] Copying index.html                       to "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\ja\content"  >>%LOGFILE% 
copy  /Y  "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\ja\content\index.html"       "%BackupFolder%\jp\index.html"  1>nul  
copy  /Y  "%~dp0\File\HTML\jp\index.html"                                    "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\ja\content"  >NUL 2>&1 
if errorlevel 1 goto rollback
:index.html\zh_CN
echo [%date% %time%] Copying index.html                       to "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\zh_CN\content"  >>%LOGFILE% 
copy /Y  "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\zh_CN\content\index.html"       "%BackupFolder%\zh_CN\index.html"  1>nul  
copy /Y   "%~dp0\File\HTML\zh_CN\index.html"                                    "%SIMInstallPath%\hpwebadmin\webapps\mxhelp\vmm\zh_CN\content"  >NUL 2>&1  
if errorlevel 1 goto rollback

:patch_vml.jar in VMM
echo [%date% %time%] Copying patch_vml.jar   in VMM directory   to "%VMMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%VMMInstallPath%\lib\patch_vml.jar"                       "%BackupFolder%\patch_vml.jar"  1>nul
copy /Y "%~dp0\File\patch_vml.jar"                                   "%VMMInstallPath%\lib"          1>nul
if errorlevel 1 goto rollback

:patch_vml.jar in SIM 
echo [%date% %time%] Copying patch_vml.jar in SIM directory    to "%SIMInstallPath%\lib"  >>%LOGFILE%
copy /Y "%~dp0\File\patch_vml.jar"                                  "%SIMInstallPath%\lib"  1>nul
if errorlevel 1 goto rollback

:patch_vmk.jar in VMM
echo [%date% %time%] Copying patch_vmk.jar   in VMM directory   to "%VMMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%~dp0\File\patch_vmk.jar"                                   "%VMMInstallPath%\lib"          1>nul
if errorlevel 1 goto rollback

:patch_vmk.jar in SIM
echo [%date% %time%] Copying patch_vmk.jar in SIM directory    to "%SIMInstallPath%\lib"  >>%LOGFILE% 
copy /Y "%~dp0\File\patch_vmk.jar"                                  "%SIMInstallPath%\lib"  1>nul
if errorlevel 1 goto rollback

echo [%date% %time%] All files copied successfully   >>%LOGFILE% 

::Deleting Existing registry
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\HP\Insight Control virtual machine management" /v LRversion >NUL 2>&1 
if %ERRORLEVEL%==0 (
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\HP\Insight Control virtual machine management" /v LRversion /f >NUL 2>&1 
echo [%date% %time%] Registry deleted     >>%LOGFILE%
) else (
echo [%date% %time%] Registry not found   >>%LOGFILE%
)

REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\HP\Insight Control virtual machine management" /v LRversion >NUL 2>&1 
if %ERRORLEVEL%==0 (
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\HP\Insight Control virtual machine management" /v LRversion /f >NUL 2>&1 
echo [%date% %time%] Registry deleted     >>%LOGFILE%
) else (
echo [%date% %time%] Registry not found   >>%LOGFILE%
)

echo [%date% %time%] Updating Registry to LR:        >>%LOGFILE% 
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\HP\Insight Control virtual machine management" /v "LRversion" /t REG_SZ /d 7.6.3 /f 1>nul
echo [%date% %time%] Installation completed successfully. >>%LOGFILE%
echo Installation completed successfully.
echo.
echo Success>"%OUTPUT%"
rem regedit.exe /S ICvirt\Registry\VMMReg_64_32.reg
rem regedit.exe /S ICvirt\Registry\VMMRegUninstall_64_32.reg:exit
rem echo.                                                                    >>%LOGF%
rem if NOT TRUE==%DOSILENT%   pause
exit /B %ERRORLEVEL%
:rollback
echo [%date% %time%] Failed to install,see %LOGFILE% for details.   >>%LOGFILE% 
echo Failed to install,see %LOGFILE% for details.
echo Fail>"%OUTPUT%"
call %~dp0\rollback.bat
EXIT /B %ERRORLEVEL%
endlocal


