BigDaddyO Posted September 23, 2005 Posted September 23, 2005 Hello all, Has anyone attempted to tackle the Ugly task of trying to Silently uninstall all of the older versions of Java that have the security flaws. I downloaded all of them and there are 65 different versions. Thankfully all of the Java 1.1 versions uninstall with one command. and 1.2 versions uninstall with one command also. The issue is that all of the Java 1.3 and 1.4 versions have individual uninstall commands which is going to suck because at least for some of the versions I have to Record an uninstall and then FileInstall the created iss file into the script to get rid of Java silently. What a pain in the A$$. so, before I spend the next 3 - 4 days on this I am wondering if anyone else has tackled this problem. Thanks, Mike
water Posted September 23, 2005 Posted September 23, 2005 The issue is that all of the Java 1.3 and 1.4 versions have individual uninstall commands ..Hi,to uninstall Java Runtime 1.4.2_08 I usej2re-1_4_2_08-windows-i586-p.exe /s /v"/qn REBOOT=Suppress" /xto uninstall Java Runtime 1.5 (all Versions), example for 1.5.0_01MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150010}for 1.5.0_04 it would beMsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150040}To uninstall Java 1.4 have a look at Uninstall Java 1.4 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
BigDaddyO Posted September 23, 2005 Author Posted September 23, 2005 Hi,to uninstall Java Runtime 1.4.2_08 I usej2re-1_4_2_08-windows-i586-p.exe /s /v"/qn REBOOT=Suppress" /xto uninstall Java Runtime 1.5 (all Versions), example for 1.5.0_01MsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150010}for 1.5.0_04 it would beMsiExec.exe /qn /x {3248F0A8-6813-11D6-A77B-00B0D0150040}To uninstall Java 1.4 have a look at Uninstall Java 1.4I don't have access on the machines to the actual Java Install files. and there is no way I am going to include 500 meg worth of installers just so I can uninstall the programs. for versions such as 1.4.1_07 I am using the following FileInstall("D:\AutoIT-3\Java Uninstaller\14107setup.iss", @TempDir & "\14107setup.iss", 1) $Uninstall = RunWait('"' & @ProgramFilesDir & '\InstallShield Installation Information\{CA532E73-1BB7-11D8-9D6A-00010240CE95}\setup.exe" -s -SMS -f1"'& @TempDir & '\14107setup.iss"')the .iss files are just 1K text files that won't take up that much room if I file include them. the only issue with the .iss files are they expect certain things to be in certain places, so I don't know if they will work properly on all systems.
GaryFrost Posted September 23, 2005 Posted September 23, 2005 (edited) If you don't mind beta you might want to look at something like this, haven't tested/corrected the run command. Edit: don't need to correct and test that, just use autoit's run command. CODE $strComputer = "." $objShell = ObjCreate("WScript.Shell") $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2") $colSoftware = $objWMIService.ExecQuery ("Select * from Win32_Product where Caption LIKE '%Java%'") For $objSoftware In $colSoftware $String = "Description: " & $objSoftware.Description & @LF & _ "IdentifyingNumber: " & $objSoftware.IdentifyingNumber & @LF & _ "InstallDate: " & $objSoftware.InstallDate & @LF & _ "InstallDate2: " & $objSoftware.InstallDate2 & @LF & _ "InstallLocation: " & $objSoftware.InstallLocation & @LF & _ "InstallState: " & $objSoftware.InstallState & @LF & _ "Name: " & $objSoftware.Name & @LF & _ "PackageCache: " & $objSoftware.PackageCache & @LF & _ "SKUNumber: " & $objSoftware.SKUNumber & @LF & _ "Vendor: " & $objSoftware.Vendor & @LF & _ "Version: " & $objSoftware.Version MsgBox(0, $objSoftware.Caption, $String) ;~ $objShell.Run("msiexec /x " & $objSoftware.IdentifyingNumber & " /qn /norestart"),10,True Next Gary Edited September 23, 2005 by gafrost SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference.
BigDaddyO Posted September 23, 2005 Author Posted September 23, 2005 (edited) If you don't mind beta you might want to look at something like this, haven't tested/corrected the run command.Edit: don't need to correct and test that, just use autoit's run command.GaryGary,Thanks for the info but the Java versions that use the MsiExec.exe are the easy ones to uninstall. They seem to have the same ID on any comptuer so I just hard code those in when uninstalling. My main problem is with the versions of Java that use the InstallShield. Those are the big pain.The Install Shield Answer files that I create using the record feature appears to be in an INI format. I may be able to just modify a single .iss file to use with each version instead of having to FileInstall each one.[installShield Silent]Version=v6.00.000File=Response File[File Transfer]OverwrittenReadOnly=NoToAll[{CA532E73-1BB7-11D8-9D6A-00010240CE95}-DlgOrder]Dlg0={CA532E73-1BB7-11D8-9D6A-00010240CE95}-SprintfBox-0Count=2Dlg1={CA532E73-1BB7-11D8-9D6A-00010240CE95}-SdFinishReboot-0[{CA532E73-1BB7-11D8-9D6A-00010240CE95}-SprintfBox-0]Result=1[Application]Name=Java 2 Runtime Environment, SE v1.4.1_07Version=1.4.1_07Company=JavaSoftLang=0009[{CA532E73-1BB7-11D8-9D6A-00010240CE95}-SdFinishReboot-0]Result=1BootOption=0I am able to read in all versions of Java on a comptuer using Registry entries, and I just use a big Case statement to uninstall each one one at a time. I then write the return code to a log file for viewing later. I think this may only take me 1.5 - 2 days at my current rate.edit: OK, I just finished installing Every single version of Java on a test comptuer and the versions of java that require the Answer file to be recorded are from v1.3.1_05 to v1.4.1_07 total of 28 versions. All of the others will be simple command line switches to do Silent Uninstalls.Mike Edited September 23, 2005 by MikeOsdx
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now