Fixlet keep running for uninstall and update Java 8u51

I have created the below fixlet but the task is still running, also checked C:\Program Files (x86)\BigFix Enterprise\BES Client__BESData__Global__Cache\Downloads and find there are data downloaded.Please advice

prefetch 5aa4687299e2e8461cedd60e26bf924dd86f365b sha1:5aa4687299e2e8461cedd60e26bf924dd86f365b size:85841402 http://sharename:52311/Uploads/5aa4687299e2e8461cedd60e26bf924dd86f365b/jre-8u351-windows-x64.exe.tmp sha256:0c04c3eebcd9c80d253b3dabe7a195d34f24b46959e861330bbf2dca2b7c48fc
extract 5aa4687299e2e8461cedd60e26bf924dd86f365b
wait __Download\jre-8u351-windows-x64.exe

continue if {not exists running application whose ((it = “java.exe” OR it = “javaw.exe” OR it = “javaws.exe” OR it = “iexplore.exe” OR it = “firefox.exe”) of (name of it as lowercase))}

// Note: update .exe will restart service automatically
if{exists running service “JavaQuickStarterService”}
delete __appendfile
delete stop_javaquickstarter.bat
appendfile net stop JavaQuickStarterService
move __appendfile stop_javaquickstarter.bat
waithidden stop_javaquickstarter.bat
endif

delete __appendfile

appendfile @ECHO OFF
appendfile {concatenation “%0d%0a” of (“start /w msiexec /x” & name of it & " /qn REBOOT=ReallySuppress") of keys whose (((it contains “java” OR it contains “j2se”) AND NOT (it contains “development kit” or it contains “auto updater” or it contains “javafx” or it contains “db” or it contains “sdk”)) of (value “DisplayName” of it as string as lowercase) AND value “DisplayVersion” of it as string as version >= “1.4.2” AND (exists value “Publisher” whose (it as string as lowercase contains “oracle” or it as string as lowercase contains “sun”) of it) AND (numeric value of concatenation of (if length of it = 1 then “000” & it else if length of it = 2 then “00” & it else if length of it = 3 then “0” & it else it) of substrings separated by “" of substrings separated by “.” of ((pad of (value “DisplayVersion” of it as string as version)) as string)) < (maximum of (numeric values of concatenation of (if length of it = 1 then “000” & it else if length of it = 2 then “00” & it else if length of it = 3 then “0” & it else it) of substrings separated by "” of substrings separated by “.” of ((pad of (value “DisplayVersion” of it as string as version)) as string)) of keys whose (((it contains “java” OR it contains “j2se”) AND NOT (it contains “development kit” or it contains “auto updater” or it contains “javafx” or it contains “db” or it contains “sdk”)) of (value “DisplayName” of it as string as lowercase) AND value “DisplayVersion” of it as string as version >= “1.4.2” AND (exists value “Publisher” whose (it as string as lowercase contains “oracle” or it as string as lowercase contains “sun”) of it)) of key “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” of registry)) of key “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” of registry}

//delete uninstallJRE.bat
//copy __appendfile uninstallJRE.bat

//wait “{pathname of client folder of site “BESSupport”}\RunQuiet.exe” uninstallJRE.bat

//Java 8 u 261 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180191F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180201F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180211F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180221F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180231F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180241F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180251F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180261F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180271F0} /qn /norestart

waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180191F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180201F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180211F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180221F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180231F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180241F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180251F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180261F0} /qn /norestart
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F64180271F0} /qn /norestart

//Java 8 u 241 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180241F0} /qn /norestart
//Java 8 u 281 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180281F0} /qn /norestart
//Java 8 u 291 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180291F0} /qn /norestart
//Java 8 u 301 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180301F0} /qn /norestart
//Java 8 u 311 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180311F0} /qn /norestart
//Java 8 u 321 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180321F0} /qn /norestart
//Java 8 u 331 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180331F0} /qn /norestart
//Java 8 Update 333 (64-bit)
waithidden MsiExec.exe /x {{26A24AE4-039D-4CA4-87B4-2F64180333F0} /qn /norestart
//Java 8 u 341 Removal
waithidden MsiExec.exe /X{{26A24AE4-039D-4CA4-87B4-2F32180341F0} /qn /norestart
//Java SE Development Kit 8 Update 341 (64-bit)
waithidden MsiExec.exe /x {{64A3A4F4-B792-11D6-A78A-00B0D0180341} /qn norestart

You’d probably need to run these commands manually on a test system. Likely one of them is displaying a pop-up message that may need some attention.

One possible easy thing I see is that it looks like you are not disabling wow32 redirection, so perhaps it’s a problem where the 32-bit msiexec cannot deal with the 64-bit MSI package?

Thank you sir for replying. Could you please correct me on where and what has to be edited in the fixlet mentioned, please…

This is probably an issue - you need to locate the command-line options to make the Java install proceed silently.

i removed the line you mentioned and executed , now its keep on running status with exit code 1605.

I don’t know what to say, except at this point it’s not even a BigFix problem (yet). I don’t understand why you’ve made the Fixlet this complicated, but you should test that your command lines work, outside of BigFix, before you try to make a Fixlet for it.

(By the way, we have a “Multiple JRE Installed” Fixlet in “Updates for Windows Applications” that should already take care of removing all but the highest-installed version)

Ok…I got you, but my main concern is to uninstall all old versions of java and install java 8u351 in the same script. without reboot.

This is a pretty good universal Java uninstaller:

// Terminate any running Java
wait taskkill /f /im javaw.exe /t
wait taskkill /f /im java.exe /t



parameter "GUIDs" = "{concatenation " " of unique values of names of keys whose ((exists values "DisplayName" whose(it as string as lowercase starts with "java" as lowercase) of it) AND (exists values whose(it as string as lowercase starts with "msiexec") of it)) of keys "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" of ( x64 registries; x32 registries )}"

wait cmd.exe /c "for %a in ({parameter "GUIDs"}) do msiexec /x %a /qn"
1 Like

Thanks Jon for your response