Jump to content

Recommended Posts

Posted

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

Posted (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 by ninjaneer
  • Thanks 2
Posted

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

Posted (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 by Yeo695
  • Thanks 1
Posted (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 by amarmunir
Posted

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 1
Posted
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?

Posted
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 :/
Posted
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.

Posted
Excellent - Supersedence will only work if all the previous versions were actually installed by SCCM2012 - so going forward it will work nicely for you
Posted
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?

Posted
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}
  • Thanks 1
Posted
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?

Posted
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.
Posted
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?

Posted (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 by sparkeh
  • Thanks 1
Posted
@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.
Posted

@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).

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 account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...