echo off

set EXE_FILE=not_defined
if "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
	set ICE_REV=40
) else (
	set ICE_REV=01
)

if EXIST ..\..\setup\hpzscr%ICE_REV%.exe SET EXE_FILE=..\..\setup\hpzscr%ICE_REV%.exe
if EXIST hpzscr01.exe SET EXE_FILE=hpzscr%ICE_REV%.exe
if "%EXE_FILE%" == "not_defined" goto MISSING_SCRUBBER_EXE

set SCRUBBER_DAT_FILE=not_defined
if EXIST ..\..\setup\hpwscr05.dat SET SCRUBBER_DAT_FILE=hpwscr05.dat
if EXIST hpwscr05.dat SET SCRUBBER_DAT_FILE=hpwscr05.dat
if "SCRUBBER_DAT_FILE"== "not_defined" goto MISSING_PRODUCT_SCRUBBER_DATFILE

rem !!!!!!! If a level is specified, delete all the trigger/tmp files
if not "%1" == "" del %TEMP%\Carrier*.tmp

rem !!!!!!! If a level is specified, goto the appropriate level
if "%1" == "1" goto LEVEL1
if "%1" == "2" goto LEVEL2
if "%1" == "3" goto LEVEL3
if "%1" == "4" goto LEVEL4

if EXIST %TEMP%\Carrier1.tmp goto LEVEL2
rem !!!!!!!!!!!!!!!! BEGIN 1st Level
:LEVEL1
echo "***** Executing Level 1 *****"

start /w %EXE_FILE% -datfile %SCRUBBER_DAT_FILE% -unattended -showdisconnect -nocopytotemp -d MsiUninstaller,TaskUninstaller,RemoveProgramUninstaller,ScannerUninstaller,AiONetworkDriveUninstaller,PrinterUninstaller,DriverUninstaller,ServiceUninstaller,PortUninstaller,RsmUninstaller,RegistryUninstaller,FileUninstaller,MonitorUninstaller,ProcessShutdown,WindowShutdown

copy uninstall.bat %TEMP%\Carrier1.tmp
goto EXIT
rem !!!!!!!!!!!!!!!! END 1st Level


rem !!!!!!!!!!!!!!!! BEGIN 2nd Level
:LEVEL2
if EXIST %TEMP%\Carrier2.tmp goto LEVEL3
echo "***** Executing Level 2 *****"
start /w %EXE_FILE% -datfile %SCRUBBER_DAT_FILE% -unattended -showdisconnect -nocopytotemp

copy uninstall.bat %TEMP%\Carrier2.tmp
goto EXIT
rem !!!!!!!!!!!!!!!! END 2nd Level


rem !!!!!!!!!!!!!!!! BEGIN 3rd Level
:LEVEL3
if EXIST %TEMP%\Carrier3.tmp goto LEVEL4
echo "***** Executing Level 3 *****"

start /w %EXE_FILE% -datfile %SCRUBBER_DAT_FILE% -unattended -showdisconnect -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqscr01.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud01.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud04.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud05.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud06.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud08.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud11.dat -unattended -nocopytotemp -noreboot

start /w MsiExec.exe /q /X{856D4888-3B48-4D0C-99D4-39AA7CF9DB2E}

start %EXE_FILE% -datfile hpqhsc01.dat -unattended -nocopytotemp -forcereboot

copy uninstall.bat %TEMP%\Carrier3.tmp
goto EXIT
rem !!!!!!!!!!!!!!!! END 3rd Level

	
rem !!!!!!!!!!!!!!!! BEGIN 4th Level
:LEVEL4
echo "***** Executing Level 4 *****"

start /w %EXE_FILE% -datfile %SCRUBBER_DAT_FILE% -unattended -showdisconnect -nocopytotemp -noreboot
	
start /w %EXE_FILE% -datfile hpqscr01.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud01.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud04.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud05.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud06.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud08.dat -unattended -nocopytotemp -noreboot

start /w %EXE_FILE% -datfile hpqbud11.dat -unattended -nocopytotemp -noreboot

start /w MsiExec.exe /q /X{856D4888-3B48-4D0C-99D4-39AA7CF9DB2E}

start %EXE_FILE% -datfile hpqhsc01.dat -unattended -nocopytotemp -noreboot
		
start %EXE_FILE% -datfile hposcr3rdp.dat -unattended -nocopytotemp -forcereboot

goto EXIT
rem !!!!!!!!!!!!!!!! END 4th Level

:MISSING_PRODUCT_SCRUBBER_DATFILE
echo "**** Uninstall file not found: hpwscr??.dat ****"
goto EXIT

:MISSING_SCRUBBER_EXE
echo "**** Uninstall file not found: hpzscr01.exe ****"
goto EXIT

:EXIT
