Java 8 - Possible to suppress "Your java it out of date" message?

tnielsen
Valued Contributor

At this moment, java 8 update 45 is the latest version. However, I have never been able to suppress the "your java version is out of date" prompt when the plugin loads. I've currently implemented the following to no avail:

/library/preferences/com.oracle.java.java-updater.plist javaautoupdateenabled is set to false
I use the deployment.properties (located in /library/application support/oracle/java/deployment/) with these settings:
deployment.security.level=HIGH
deployment.expiration.check.enabled=FALSE
deployment.javaws.shortcut=NEVER
deployment.security.mixcode=DISABLE
deployment.webjava.enabled=TRUE
deployment.macosx.check.update=false
deployment.macosx.check.update.locked
deployment.expiration.check.enabled=false
deployment.expiration.check.enabled.locked
deployment.security.validation.ocsp=false
deployment.security.validation.ocsp.locked
deployment.expiration.decision=NEVER
deployment.expiration.decision.suppression=true
deployment.user.security.exception.sites=/Library/Application Support/Oracle/Java/Deployment/exception.sites

I've even deleted the sparkle.plugin within the java plugin. It still checks for updates if it's out of date.

1 ACCEPTED SOLUTION

tnielsen
Valued Contributor

thanks man, this is all helpful. I have got a working .PKG that does everything I need:
disables java auto updates
disables "your java is out of date" prompt
disables "sponsors"
here's a screen shot of the files included in the .pkg and the POSTINSTALL script I used. 7c3ecb9f34d546618117cc11561e8262

script:

#!/bin/sh
## postinstall

pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3

#do not want
/bin/rm /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
/bin/rm /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
/bin/rm /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/rm /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/rm /Library/Application Support/Oracle/Java/Deployment/exception.sites

#want
mkdir /Library/Application Support/Oracle/Java/Deployment
chown root:wheel /Library/Application Support/Oracle/Java/Deployment
chmod 755 /Library/Application Support/Oracle/Java/Deployment

#get numeric variable of current java version to use so I can suppress the "out of date" nonsense for some time.
NUMBER=`/bin/cat /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist |grep ';deploy=' |cut -d"=" -f2 |cut -d"<" -f1`

# make new files and set permissions
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/deployment.config
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/exception.sites
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/deployment.config
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/exception.sites

# Write deployment.config
/bin/echo deployment.system.config.mandatory=true > /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/echo deployment.system.config=file:////Library/Application Support/Oracle/Java/Deployment/deployment.properties >> /Library/Application Support/Oracle/Java/Deployment/deployment.config

# Write deployment.properties
/bin/echo deployment.security.level=HIGH > /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled=FALSE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.javaws.shortcut=NEVER >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.security.mixcode=DISABLE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.webjava.enabled=TRUE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.macosx.check.update=false >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.macosx.check.update.locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled=false >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled.locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision=NEVER >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression."$NUMBER".locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression."$NUMBER"=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision."$NUMBER".locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision."$NUMBER"=later >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo install.disable.sponsor.offers=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.user.security.exception.sites=/Library/Application Support/Oracle/Java/Deployment/exception.sites >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties

#Write exception.sites
/bin/echo http://site1.com/ > /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/echo http://site2.com/ >> /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/echo http://site3.com >> /Library/Application Support/Oracle/Java/Deployment/exception.sites

#Suppress system wide updating
/usr/bin/defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
/usr/bin/defaults write /Library/Preferences/com.oracle.java.Deployment install.disable.sponsor.offers -string true


exit 0      ## Success
exit 1      ## Success

View solution in original post

5 REPLIES 5

CasperSally
Valued Contributor II

What’s the path in your deployment.config file? I had a typo in that and had similar issues.

tnielsen
Valued Contributor

deployment.system.config=file:////Library/Application Support/Oracle/Java/Deployment/deployment.properties

I verified it's valid.

Also, with the help of other JAMFNation posts. I have solved this for the moment. These lines were the only lines that suppressed the "out of date prompt" when the applet would attempt to load. They are in the deployment.properties file.

deployment.expiration.decision.suppression.10.71.2.locked
deployment.expiration.decision.suppression.10.71.2=true
deployment.expiration.decision.10.71.2.locked
deployment.expiration.decision.10.71.2=later

the full deployment.properties file looks like this, but none of the other lines suppressed the update prompt.

deployment.security.level=HIGH
deployment.expiration.check.enabled=FALSE
deployment.javaws.shortcut=NEVER
deployment.security.mixcode=DISABLE

deployment.webjava.enabled=TRUE

deployment.macosx.check.update=false

deployment.macosx.check.update.locked

deployment.expiration.check.enabled=false
deployment.expiration.check.enabled.locked
deployment.expiration.decision=NEVER
deployment.expiration.decision.suppression=true
deployment.expiration.decision.suppression.10.71.2.locked
deployment.expiration.decision.suppression.10.71.2=true
deployment.expiration.decision.10.71.2.locked
deployment.expiration.decision.10.71.2=later
deployment.user.security.exception.sites=/Library/Application Support/Oracle/Java/Deployment/exception.sites

RobertHammen
Valued Contributor II

Here's my canonical reference to Java updates (thanks to @foigus):

https://foigus.wordpress.com/2015/02/20/managing-java-7-and-8-updates/

tnielsen
Valued Contributor

thanks man, this is all helpful. I have got a working .PKG that does everything I need:
disables java auto updates
disables "your java is out of date" prompt
disables "sponsors"
here's a screen shot of the files included in the .pkg and the POSTINSTALL script I used. 7c3ecb9f34d546618117cc11561e8262

script:

#!/bin/sh
## postinstall

pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3

#do not want
/bin/rm /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
/bin/rm /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
/bin/rm /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/rm /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/rm /Library/Application Support/Oracle/Java/Deployment/exception.sites

#want
mkdir /Library/Application Support/Oracle/Java/Deployment
chown root:wheel /Library/Application Support/Oracle/Java/Deployment
chmod 755 /Library/Application Support/Oracle/Java/Deployment

#get numeric variable of current java version to use so I can suppress the "out of date" nonsense for some time.
NUMBER=`/bin/cat /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Enabled.plist |grep ';deploy=' |cut -d"=" -f2 |cut -d"<" -f1`

# make new files and set permissions
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/deployment.config
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/usr/bin/touch /Library/Application Support/Oracle/Java/Deployment/exception.sites
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/deployment.config
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/usr/sbin/chown root:wheel /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/chmod 755 /Library/Application Support/Oracle/Java/Deployment/exception.sites

# Write deployment.config
/bin/echo deployment.system.config.mandatory=true > /Library/Application Support/Oracle/Java/Deployment/deployment.config
/bin/echo deployment.system.config=file:////Library/Application Support/Oracle/Java/Deployment/deployment.properties >> /Library/Application Support/Oracle/Java/Deployment/deployment.config

# Write deployment.properties
/bin/echo deployment.security.level=HIGH > /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled=FALSE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.javaws.shortcut=NEVER >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.security.mixcode=DISABLE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.webjava.enabled=TRUE >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.macosx.check.update=false >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.macosx.check.update.locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled=false >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.check.enabled.locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision=NEVER >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression."$NUMBER".locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision.suppression."$NUMBER"=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision."$NUMBER".locked >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.expiration.decision."$NUMBER"=later >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo install.disable.sponsor.offers=true >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties
/bin/echo deployment.user.security.exception.sites=/Library/Application Support/Oracle/Java/Deployment/exception.sites >> /Library/Application Support/Oracle/Java/Deployment/deployment.properties

#Write exception.sites
/bin/echo http://site1.com/ > /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/echo http://site2.com/ >> /Library/Application Support/Oracle/Java/Deployment/exception.sites
/bin/echo http://site3.com >> /Library/Application Support/Oracle/Java/Deployment/exception.sites

#Suppress system wide updating
/usr/bin/defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
/usr/bin/defaults write /Library/Preferences/com.oracle.java.Deployment install.disable.sponsor.offers -string true


exit 0      ## Success
exit 1      ## Success

tnielsen
Valued Contributor

FYI, the last line of my script is not working. It's not an accurate creation of the file needed. Therefor, suppress sponsors is not working but everything else works great. =(

I tested it but I did not delete all the preferences in the user account I used for testing to that setting got carried over and made me believe it was working.