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'
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.