stomie Posted October 24, 2014 Posted October 24, 2014 revisions (Failed) msiexec /i "jre1.8.0_25.msi" JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 SYSTRAY=0 EULA=0 NOSTARTMENU=1 WEB_JAVA_SECURITY_LEVEL=M /QN (Success) msiexec /i jre1.8.0_25.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q (Failed) msiexec /i jre1.8.0_25.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 NOSTARTMENU=1 RebootYesNo=No WEB_JAVA=1 /q
stomie Posted October 24, 2014 Posted October 24, 2014 (edited) Sorry if I've hijacked this thread but now I'm working on supersedence according to this article http://blogs.technet.com/b/jchalfant/archive/2014/05/13/uninstalling-all-previous-versions-of-java-runtime-environment-using-application-supersedence-in-configuration-manager.aspx#pi47623=1 Has anyone had any luck with it? Edited October 24, 2014 by stomie
ninjaneer Posted October 24, 2014 Posted October 24, 2014 (edited) Here's what is working in my environment so far: Short version: Creating the C:\ProgramData\Oracle\Java\java.settings.cfg before installing the MSI allows me to deploy Java 8 Update 25 via SCCM. Long version: - Extracted the MSI from the EXE installer from Java.com the way we have always done (There was no CAB file this time - don't panic!) - Using Arthur's jre1.8.0_25_x86.mst transform file and modifying the "Property" table to match the screenshot below. (You could generate your own transform as well - your choice.) - Using stomie's advice about the C:\ProgramData\Oracle\Java\java.settings.cfg file, I built a VBscript that does the following: --- Creates the C:\ProgramData\Oracle\Java\ folder if it's missing --- Backs up any existing java.settings.cfg file that it finds if the folder DOES exists (renames it based on a timestamp) --- Creates a new java.settings.cfg file in the folder with the settings show in screenshot 2. - Call the MSI installer with the following parameters: msiexec /i "jre1.8.0_25.msi" TRANSFORMS="jre1.8.0_25_x86.mst" /qn /L*v C:\WINDOWS\CCM\LOGS\jre1.8.0_25_Install.log Once the installation completed, I went to Java.com and Javatester.org to confirm that Java 8U25 was functional and so far it has worked 100% of the time. The only caveat to this is that I have only been able to test it on 8 systems so far. (Weekends are the busiest time for our company, so I'm limited in what maintenance I can do going into Saturday/Sunday) Then I built a .cmd file to wrap it all up nicely. Step 1: Uninstall old software (We use supersedence, but I also have a master list of old software versions GUIDs that I uninstall with a VBScript - this lets me target old versions of Flash, Java, etc. during every deployment. It's a little bit of overkill, but I don't want to get a phone call asking why 3 machines are still running outdated Flash...) Step 2: Create Java folder and generate the cfg file with the proper settings Step 3: Run the MSI installation When I initially configured the "Deployment Type" in System Center, I chose "MSI", then pointed it to the MSI that I extracted. This imported the information and saved me a few steps. Then I just modified the "Installation Program" on the "Programs" tab to call my Ju825.cmd file instead of the msiexec command. (Screenshot 3) Then I redistributed content, waited for it to finish, and now have it deployed to a device group that I created for testing purposes. So far, the MSI installation has worked on eight machines, and now I'm patiently waiting to test the new, all-inclusive package. [ATTACH=CONFIG]27268[/ATTACH] MST Settings, edited in Orca. [ATTACH=CONFIG]27269[/ATTACH] java.settings.cfg file generated by VBScript. [ATTACH=CONFIG]27270[/ATTACH] Calling custom install command file. Edited October 24, 2014 by ninjaneer 2
heckle Posted October 25, 2014 Posted October 25, 2014 If you are deploying via SCCM, just set the installer package to uninstall the previous version first. And be sure to set ti to not install if any user is logegd on. If you run the new Java 8 installer interactively it detects old Java versions (v7) and it asks for remove it. If you run the Java 8 installer with silent option it don't deletes old versions. I don't see any option/parameter to delete older versions....
2097 Posted October 27, 2014 Posted October 27, 2014 Am i right in assuming "Deployment.config","Deployment.properties" are no longer required with java 8??
Yeo695 Posted October 27, 2014 Posted October 27, 2014 (edited) My final say on Java 8, Too many issues with pushing out Version 8 so far in a network environment be it GPO or SCCM. After reading about Java 8 I decided to go back and push out 7 update 72. Pushed out without any issues, tested on about 15 or so of the schools most popular Java websites and everything works fine. Even when you go to Java verify it says 7 update 72 is the recommended version. I see no need to update to version 8, until someone shows me why they need 8 I'll be sticking with 7. Sure there are security concerns to be had but at the moment in the network environment the pros of 7 out weigh the cons of 8. Edited October 27, 2014 by Yeo695 1
amarmunir Posted October 27, 2014 Posted October 27, 2014 (edited) Thanks Gatt I just tried this through SCCM 2012 and it works great . msiexec /i "jre1.8.0_25.msi" JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q Edited October 27, 2014 by amarmunir
2097 Posted October 28, 2014 Posted October 28, 2014 Heres a little bat to remove the latest 7 installs and then install java 8 ( both x86 and x64 ) REM Uninstall Java 7 Update 67 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217067FF} /q REM Uninstall Java 7 Update 67 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417067FF} /q REM Uninstall Java 7 Update 65 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217065FF} /q REM Uninstall Java 7 Update 65 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417065FF} /q REM Install Latest Java Version X86 msiexec /i jre1.8.0_25X86.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q REM Install Latest Java Version X64 msiexec /i jre1.8.0_25X64.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q Unsure if i am going to do the jump ! , as not sure if a lot of the older java apps will be compatible 1
supersnake Posted October 28, 2014 Posted October 28, 2014 Heres a little bat to remove the latest 7 installs and then install java 8 ( both x86 and x64 ) REM Uninstall Java 7 Update 67 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217067FF} /q REM Uninstall Java 7 Update 67 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417067FF} /q REM Uninstall Java 7 Update 65 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217065FF} /q REM Uninstall Java 7 Update 65 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417065FF} /q REM Install Latest Java Version X86 msiexec /i jre1.8.0_25X86.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q REM Install Latest Java Version X64 msiexec /i jre1.8.0_25X64.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q Unsure if i am going to do the jump ! , as not sure if a lot of the older java apps will be compatible Do I run this BAT on SCCM or GPO?
amarmunir Posted October 28, 2014 Posted October 28, 2014 If run the command line through SCCM 2012 you can use supersedence to remove any old versions of Java
sparkeh Posted October 28, 2014 Posted October 28, 2014 After lots of testing on this, the only way I can get SCCM to install 8u25 over 7u71 is to manually remove 7u71, manually install 8u25, manually uninstall 8u25 and then deploy 8u25 from SCCM. Which is not good :/
amarmunir Posted October 28, 2014 Posted October 28, 2014 Create the job as an application and use supersedence as the image I have uploaded
sparkeh Posted October 28, 2014 Posted October 28, 2014 Heres a little bat to remove the latest 7 installs and then install java 8 ( both x86 and x64 ) REM Uninstall Java 7 Update 67 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217067FF} /q REM Uninstall Java 7 Update 67 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417067FF} /q REM Uninstall Java 7 Update 65 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217065FF} /q REM Uninstall Java 7 Update 65 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417065FF} /q REM Install Latest Java Version X86 msiexec /i jre1.8.0_25X86.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q REM Install Latest Java Version X64 msiexec /i jre1.8.0_25X64.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q Unsure if i am going to do the jump ! , as not sure if a lot of the older java apps will be compatible Thanks for that, and here is a more comprehensive list of strings: Java Uninstall / Remove GUIDs and Strings SCCM 2012 In the end I wrote a batch file that ran on every machine scrubbing every trace of old Java and installing the new version. Hopefully for the next update the SCCM supercedence will work for me.
amarmunir Posted October 28, 2014 Posted October 28, 2014 Excellent - Supersedence will only work if all the previous versions were actually installed by SCCM2012 - so going forward it will work nicely for you
sparkeh Posted October 28, 2014 Posted October 28, 2014 Excellent - Supersedence will only work if all the previous versions were actually installed by SCCM2012 - so going forward it will work nicely for you Right.. so what happens if I deployed 8u25 via batch file, then deployed 8u25 via SCCM and all the machines reported back as 'already compliant' - when the next update comes along can I supercede the old version and it will nicely take away 8u25 and install the new version?
amarmunir Posted October 28, 2014 Posted October 28, 2014 Yes this should work as you have now created the application deployment for 8u25. When you create the next update you will use supersedence and use the Java 8 u25 as the old deployment replaced with your new deployment. Supersedence looks for the uninstall GUID I e from Java 7u676A24AE4-039d-4ca4-87b4-2f0321706ff} 1
supersnake Posted October 28, 2014 Posted October 28, 2014 Heres a little bat to remove the latest 7 installs and then install java 8 ( both x86 and x64 ) REM Uninstall Java 7 Update 67 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217067FF} /q REM Uninstall Java 7 Update 67 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417067FF} /q REM Uninstall Java 7 Update 65 msiexec /x {26A24AE4-039D-4CA4-87B4-2F03217065FF} /q REM Uninstall Java 7 Update 65 x64 msiexec /x {26A24AE4-039D-4CA4-87B4-2F06417065FF} /q REM Install Latest Java Version X86 msiexec /i jre1.8.0_25X86.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q REM Install Latest Java Version X64 msiexec /i jre1.8.0_25X64.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q Unsure if i am going to do the jump ! , as not sure if a lot of the older java apps will be compatible Which way I would run this bat by SCCM? Do I need to put the exe/msi files in the same bat directory? Do I run the .bat using the Task sequence?
supersnake Posted October 28, 2014 Posted October 28, 2014 Forget, it's worked! I created a program not an application with SCCM 2012, I used the 2097 user script to deploy and it's works like a charm, including the uninstaller of the older (J7 Up 67) java.
penfold Posted October 29, 2014 Posted October 29, 2014 Thanks for that, and here is a more comprehensive list of strings: Java Uninstall / Remove GUIDs and Strings SCCM 2012 In the end I wrote a batch file that ran on every machine scrubbing every trace of old Java and installing the new version. Hopefully for the next update the SCCM supercedence will work for me. Similar to you I have created a bat file to remove older versions but when I tested it, it looks like it removed the old version but didn't install the new one (if I leave the uninstall bat file off it installs the new one fine so I know that works ok). What I have done is create a new program called RemoveJava and put the uninstall bat file in there. Then I have a program Java8 which is set to run the RemoveJava program first under the advanced tab. If I look at the cache on the client it has downloaded all of the content it needs but it doesn't seem to have run the install part. I thought the advertisement would run the Java install which in turn would run the removeJava before then installing the current version. Is this the way it should be done or have I configured it wrong?
sparkeh Posted October 29, 2014 Posted October 29, 2014 (edited) @penfold personally I just took SCCM out of the equation and just used PSExec and a batch file to try and get our environment back on an even keel (ie all old versions of Java off the machines and the latest installed) so that the next update should be smoother. If its of any use to anyone, the batch file (javaFix.bat) that removes old versions and installs the latest is attached (alter end of file to suit your environment) and I just ran with: PSExec @ -u -p -c javaFix.txt Edited October 29, 2014 by sparkeh 1
penfold Posted October 29, 2014 Posted October 29, 2014 @sparkeh We currently need to test the latest version so I can get away with having it install side by side for now, but like you I want to get our environment back to the same level and standardise the versions we are using. We do have some old software which doesn't work with later versions (or should I say not fully supported) so we are running different versions in different departments. I'll take a look at your method once I know we can push the latest version out.
Arthur Posted October 29, 2014 Posted October 29, 2014 @penfold. I took a slightly different approach than everyone else when it came to deploying 8u25 through SCCM, but after a lot of trial and error it appears to be working perfectly. My method uses the PowerShell App Deployment Toolkit to uninstall any old JREs (without having to find out the GUIDs first!), install the latest 32-bit and 64-bit versions of the Java Runtime (using a java.settings.cfg file) and then copy over the system-level configuration files (deployment.config/properties and exception.sites). The Deploy-Application.ps1 script can be downloaded here: http://pastebin.com/WnvRtKLa, and the folder structure looks like this: AppDeployToolkit Files\ jre1.8.0_25-x64.msi jre1.8.0_25-x86.msi SupportFiles\ deployment.config deployment.properties exception.sites java.settings.cfg Deploy-Application.exe Deploy-Application.ps1 java.settings.cfg AUTO_UPDATE=0 EULA=0 INSTALL_SILENT=1 NOSTARTMENU=1 SPONSORS=0 WEB_ANALYTICS=0 WEB_JAVA=1 WEB_JAVA_SECURITY_LEVEL=H The Administrator Guide included with the PADT shows you how to create an application in SCCM (see page 25 onwards).
sparkeh Posted October 29, 2014 Posted October 29, 2014 @Arthur - where are you looking at for the supported config options? The official config options for 8u25 (Installing With a Configuration File) doesn't list the SPONSORS option and says that INSTALLSILENT isn't supported for msi installation.
penfold Posted October 29, 2014 Posted October 29, 2014 @Arthur - I'll need to take a look at this as it looks a little tidier and I don't have to worry about ensuring I've covered every version we have installed:)
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