foigus' Notes
Mostly OS X Admin Related
Disabling Java 8 Sponsor Offer Installation
Oracle Java 8u40 for OS X includes a new, unwanted payload–for those who aren’t paying attention, clicking right through the installation means the ask.com toolbar is now installed on their computer. Oracle does offer a support page which details installing Java 8u40 without the toolbar, but the options boil down to two techniques:
- Install Java first so sponsor offers can be disabled though the Java Control Panel
- Use the command line and pass in the appropriate argument
#1 is kinda silly (installing software just to access a setting seems a bit unusual), and while #2 isn’t so bad it’s not the path the Java 8 updater wants to take you. The Java 8 updater happily reattempts to install the sponsor offers. So let’s say there are users with admin rights in your organization who theoretically could update or reinstall Java 8, how can we prevent sponsor offers on their computers? Using fseventer, let’s see what files are modified when technique #1 above is applied:
defaults read ~/Library/Preferences/com.oracle.javadeployment.plist
{ "/com/oracle/javadeployment/" = { "deployment.modified.timestamp" = 1426392515218; "deployment.version" = 8; "install.disable.sponsor.offers" = true; }; }
defaults read ~/Library/Application\ Support/JREInstaller/ThirdParty.plist
{ SPONSORS = 0; }
cat ~/Library/Application\ Support/Oracle/Java/Deployment/deployment.properties
#deployment.properties #Sat Mar 14 21:11:41 PDT 2015 deployment.modified.timestamp=1426392701602 deployment.version=8 install.disable.sponsor.offers=true #Java Deployment jre's #Sat Mar 14 21:11:41 PDT 2015 deployment.javaws.jre.0.registered=true deployment.javaws.jre.0.platform=1.8 deployment.javaws.jre.0.osname=Mac OS X deployment.javaws.jre.0.path=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java deployment.javaws.jre.0.product=1.8.0_40 deployment.javaws.jre.0.osarch=x86_64 deployment.javaws.jre.0.location=http\://java.sun.com/products/autodl/j2se deployment.javaws.jre.0.enabled=true deployment.javaws.jre.0.args=
Beyond this, there are mentions across the Internet of placing the following lines in the system’s deployment.properties:
install.disable.sponsor.offers=true install.disable.sponsor.offers.locked
However in my testing, currently the only file that matters is ThirdParty.plist, and the Oracle Java 8 installer only (per opensnoop) looks in the user’s home for this file:
501 209 cfprefsd 4 /Users/admin/Library/Preferences/com.apple.HIToolbox.plist 501 851 MacJREInstaller -1 /Users/admin/Library/Autosave Information/Oracle.MacJREInstaller.plist 501 851 MacJREInstaller 27 /Users/admin/Library/Application Support/JREInstaller/JREInstallLog.txt 501 851 MacJREInstaller -1 /Users/admin/Library/Application Support/JREInstaller/ThirdParty.plist 501 851 MacJREInstaller 27 /Users/admin/Library/Application Support/JREInstaller/JREInstallLog.txt 501 851 MacJREInstaller 27 /.vol/16777218/185166 501 851 MacJREInstaller 27 /Users/admin/Library/Application Support/JREInstaller/JREInstallLog.txt
Setting any or all of the above files except ThirdParty.plist and the sponsor offers are still offered. ThirdParty.plist can be set with the following command:
defaults write ~/Library/Application\ Support/JREInstaller/ThirdParty SPONSORS -string "0"
run via a LaunchAgent, Outset, or some equivalent method. Once ThirdParty.plist is set, future GUI installations of Java 8 will completely skip the sponsor offers step and immediately install Java. Of course, keep in mind this all could change with the next release of Java.
Thanks to Johannes Seitz for researching the situation. I was working on this so late at night I don’t recall whether Johannes originally wrote the above command or if I did (or maybe we both reached the same conclusion). Cheers Johannes!
Have you tried the following regkeys?
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft]
“SPONSORS”=”DISABLE”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft]
“SPONSORS”=”DISABLE”
LikeLike
In my case I’m working on Macs, but I’ll leave this here for Windows folks.
LikeLike