anchor.diff:  call :log "%CUR_DATE% %TIME%   Beginning removal of Java Runtime Environments (series 3-8, x86 and x64) and JavaFX..."
   
   :: Do a quick check to make sure WMI is working, and if not, repair it
  -wmic timezone >NUL
  +%WMIC% timezone >NUL
   if not %ERRORLEVEL%==0 (
       call :log "%CUR_DATE% %TIME% ! WMI appears to be broken. Running WMI repair. This might take a minute, please be patient..."
       net stop winmgmt
  
positive.code: call :log "%CUR_DATE% %TIME%   Targeting individual JRE versions..."
  call :log "%CUR_DATE% %TIME%   This might take a few minutes. Don't close this window."
  
  :: EXPOSITION DUMP: OK, so all JRE runtimes (series 4-8) use certain GUIDs that increment with each new update (e.g. Update 66)
  :: This makes it easy to catch them through liberal use of WMI wildcards ("_" is single character, "%" is any number of characters)
  :: Additionally, JRE 6 introduced 64-bit runtimes, so in addition to the two-digit Update XX revision number, we also check for the architecture
  :: type, which always equals '32' or '64'. The first wildcard is the architecture, the second is the revision/update number.
  :: Beginning with JRE versions over 99 (JRE8 was first major version to have subversions go over 99), the GUID string "2F8__", which identified architecture, switched to "2F__", presumably to make room for the new 3rd digit in the version identifying section. You can see this in the JRE8 portion below.
  
  :: JRE 8
  call :log "%CUR_DATE% %TIME%   JRE 8..."
  
negative.code: :: The JRE installer must be in a place the script can find it (e.g. network path, same directory, etc)
  :: JRE 64-bit reinstaller
  set JAVA_LOCATION_x64=%~dp0
  set JAVA_BINARY_x64=jre-8u144-windows-x64.exe
  set JAVA_ARGUMENTS_x64=/s
  
  :: JRE 32-bit reinstaller
  set JAVA_LOCATION_x86=%~dp0
  set JAVA_BINARY_x86=jre-8u144-windows-x86.exe
  set JAVA_ARGUMENTS_x86=/s
  
  
  