Batch script to remove mcafee agent software

batch-filemcafee

I have put together a small batch script to remove McAfee software from machine. Tested and all working but suspect the 8.3. naming convention might cause my script not to complete as intended.

Here is the script, the log below the script which might be the answer why my script not working:

@echo off

::check if mcafeetemp directory exists
if exist C:\mcafeetemp\NUL echo "Folder already exists"
if not exist C:\mcafeetemp\NUL echo "Folder does not exist"
mkdir c:\mcafeetemp\
pause

::check 64bit or x86
dir "C:\Program Files (x86)\\." > NUL 2>&1
if errorlevel 0 (
set PROGRAMS_HOME="C:\Program Files (x86)"
GOTO HomeSet
)

dir "C:\Program Files\\." > NUL 2>&1
if errorlevel 0 (
set PROGRAMS_HOME="C:\Program Files"
GOTO HomeSet
)   
GOTO NotWindows

:HomeSet
set PROGRAMS_HOME=%PROGRAMS_HOME:"=%
echo PROGRAMS_HOME set to %PROGRAMS_HOME%
:NotWindows
pause

::remove mcafee agent
"%PROGRAMS_HOME%\McAfee\Common Framework\frminst.exe" /forceuninstall /Silent > c:\mcafeetemp\forceremovelog.txt
::shutdown /r /f /t 120 /d P:4:2 /c "Old McAfee agent removed. Reboot required."
endlocal
pause
EXIT /B 200

Here is the log:

2016-04-01 13:32:21.189 I 6048 Setup    START ["C:\Program Files (x86)\McAfee\Common Framework\frminst.exe"  /forceuninstall /Silent ]
2016-04-01 13:32:21.189 I 6048 Setup    Windows 6.1.7601 Service Pack 1
2016-04-01 13:32:21.190 I 6048 msiFix   Finding agent MSI product code
2016-04-01 13:32:21.190 I 6048 msiFix   Got MSI product code {4AEFF024-F0D0-4AD6-8231-FF51949E91E0}
2016-04-01 13:32:21.190 I 6048 msiFix   Finding agent MSI version
2016-04-01 13:32:21.190 I 6048 msiFix   Got agent MSI version 4.6.3001
2016-04-01 13:32:21.190 I 6048 msiFix   Nothing to fix for this agent version
2016-04-01 13:32:21.190 I 6048 Setup    Attempting to perform a setup operation
2016-04-01 13:32:21.192 I 6048 Cmalib   Referencer 1 HOSTIPS_8000
2016-04-01 13:32:21.192 I 6048 Cmalib   Referencer 2 VIRUSCAN8800
2016-04-01 13:32:21.194 I 6048 caShrLb  Installed version=4.6.0.3122
2016-04-01 13:32:21.194 I 6048 caShrLb  Product count=2
2016-04-01 13:32:21.194 I 6048 caShrLb  Managed mode=1
2016-04-01 13:32:21.194 I 6048 Setup    Legacy installed=0
2016-04-01 13:32:21.194 I 6048 Setup    Higher version installed=0
2016-04-01 13:32:21.194 I 6048 Setup    Existing Installed Path=C:\Program Files (x86)\McAfee\Common Framework
2016-04-01 13:32:21.194 I 6048 Setup    Existing Data Path=C:\ProgramData\McAfee\Common Framework
2016-04-01 13:32:21.194 I 6048 Setup    Existing setup program=C:\Program Files (x86)\McAfee\Common Framework\frminst.exe
2016-04-01 13:32:21.194 I 6048 Setup    LangInRegistry=[]
2016-04-01 13:32:21.195 I 6048 Setup    C:\Windows\SysWOW64\msiexec.exe /x {4AEFF024-F0D0-4AD6-8231-FF51949E91E0} FORCEUNINSTALL=True /q REBOOT=R /l+*v "C:\Users\xxxxxx~1\AppData\Local\Temp\McAfeeLogs\MFEagent.msi.2016.04.01.13.32.21.log" FRMINSTLOGFILE="C:\Users\xxxxxx~1\AppData\Local\Temp\McAfeeLogs\FrmInst_{systemname}"
2016-04-01 13:32:21.846 E 6048 Setup    Error trace:
2016-04-01 13:32:21.846 E 6048 Thread    [Main thread]->
2016-04-01 13:32:21.846 E 6048 Setup     [Attempting to perform a setup operation]->
2016-04-01 13:32:21.846 E 6048 Setup     [Run MSI]->
2016-04-01 13:32:21.846 E 6048 Setup      error 1612: The installation source for this product is not available. Verify that the source exists and that you can access it.
2016-04-01 13:32:21.846 E 6048 UI       Error trace:
2016-04-01 13:32:21.846 E 6048 Thread    [Main thread]->
2016-04-01 13:32:21.846 E 6048 UI         The installation source for this product is not available. Verify that the source exists and that you can access it.
2016-04-01 13:32:21.846 I 6048 Thread   Exit program
2016-04-01 13:32:21.846 I 6048 Setup    END 1603

Hope this is enough information, think I am almost there, just missing something somewhere? Your thoughts on this will be appreciated.

UPDATE:

Just following up on this?

Found thread on https://superuser.com/questions/607572/how-do-i-modify-the-data-of-an-existing-registry-key-value-name-from-cmd

And from what I can see I can update this specific registry in the location explained as per McAfee's KB:
https://kc.mcafee.com/corporate/index?page=content&id=kb51431

set append=XXXXXX
set key=HKCU\Software\myTest
set value=myValue
set oldVal=

for /F "skip=2 tokens=3" %%r in ('reg query %key% /v %value%') do set oldVal=%%r
echo previous=%oldVal%
set newVal=%oldVal%%append% 
reg add %key% /v %value% /d %newVal% /f'

Best Answer

I managed to get it working. Ran script again on x86 system and it completed successfully. Not sure what the exact cause was why it was not working the previous time but from the logs that were created I confirmed it completed successfully.