Oracle’s Java 8 Update 65 – The return of the Java install application
For the past couple of releases, Oracle has used a standard installer package to install Java 8. With the release of Java 8 Update 65 though, Oracle returned to using an application to install Java.
This switch away from using installer packages is a problem for Mac admins who need to deploy Oracle’s Java 8 in their own environment. However, after doing some research, it looks like it is still possible to deploy Oracle’s Java 8 Update 65 using a standard installer package. For more details, see below the jump.
While the Oracle install application is not a standard installer package, it appears that Oracle has stored an installer package for Java 8 within the install application at the following location:
/path/to/install.app/Contents/Resources/JavaAppletPlugin.pkg
Once the JavaAppletPlugin installer package is copied out of the install application, it can be deployed like previous Java updates’ installer packages.
Now that the good news is covered, let’s talk about the install application. Oracle’s Java 8 Update 65 install application has the following behavior:
This application will prompt for admin privileges before fully launching.
Once you provide admin authentication, the application launches.
It will then tell you how many devices run Java while it installs.
Once complete, it’ll tell you what it’s installed.
As best as I can tell, that’s it. Unlike previous incarnations of the install application, the Java 8 Update 65 install application does not appear to try to install any browser toolbars. To verify this behavior, I ran the MacJREInstaller binary which the Oracle Java application is using to actually install the Java browser plug-in.
While I observed that MacJREInstaller continued to check with Oracle and report which country it was being installed in, I did not see anything being downloaded from Oracle. All the functionality to do so is still contained within the MacJREInstaller binary though, so I plan to keep a close eye on this. For those interested, I’ve posted the output below.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
computername:~ username$ sudo /Volumes/Java\ 8\ Update\ 65/Java\ 8\ Update\ 65.app/Contents/MacOS/MacJREInstaller | |
2015-10-20 18:39:57.882 MacJREInstaller[427:4036] SecCodeCopySelf returned:0 | |
2015-10-20 18:39:57.885 MacJREInstaller[427:4036] DR status:0 | |
2015-10-20 18:39:58.064 MacJREInstaller[427:4036] Validate Status:0 | |
2015-10-20 18:39:58.066 MacJREInstaller[427:4036] path: /var/root/Library/Application Support/JREInstaller | |
2015-10-20 18:39:58.068 MacJREInstaller[427:4036] —- INSTALL RUN |||| 10-20-2015 06:39:58 -0400 | |
2015-10-20 18:39:58.068 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Get Staged XML from :https://javadl-esd-secure.oracle.com/update/1.8.0/mac-1.8.0_65-b17.xml | |
2015-10-20 18:39:58.570 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Arguments:( | |
"/Volumes/Java 8 Update 65/Java 8 Update 65.app/Contents/MacOS/MacJREInstaller", | |
"SPONSORS=0" | |
) | |
2015-10-20 18:39:58.570 MacJREInstaller[427:4036] Install Log: Type:Other Severity:Debug Message:Dictionary:{ | |
SPONSORS = 0; | |
} | |
2015-10-20 18:39:58.754 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Current Installed Version:1.8.60.27 | |
2015-10-20 18:39:58.755 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:Init MacPingEngine. | |
2015-10-20 18:39:58.755 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:version to install: 1.8.65.17 | |
2015-10-20 18:39:58.872 MacJREInstaller[427:4036] Install Log: Type:Other Severity:Debug Message:Application support directory:/var/root/Library/Application Support | |
2015-10-20 18:39:58.872 MacJREInstaller[427:4036] Install Log: Type:Other Severity:Debug Message:infoPlist:(null) | |
2015-10-20 18:39:58.896 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Java 8 Update 65 build 17 | |
objc[430]: Class JavaLaunchHelper is implemented in both /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java and /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/./libjli.dylib. One of the two will be used. Which one is undefined. | |
objc[432]: Class JavaLaunchHelper is implemented in both /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java and /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/./libjli.dylib. One of the two will be used. Which one is undefined. | |
2015-10-20 18:40:01.885 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:From Welcome Delegate | |
2015-10-20 18:40:07.353 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Installing JRE, Lock Continue Button | |
2015-10-20 18:40:07.559 MacJREInstaller[427:4036] SecCodeCopySelf returned:0 | |
2015-10-20 18:40:07.559 MacJREInstaller[427:4036] DR status:0 | |
2015-10-20 18:40:07.715 MacJREInstaller[427:4036] Validate Status:0 | |
2015-10-20 18:40:07.716 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:ExecCmd:/usr/sbin/installer -pkg "/Volumes/Java 8 Update 65/Java 8 Update 65.app/Contents/Resources/JavaAppletPlugin.pkg" -target / | |
2015-10-20 18:40:12.951 MacJREInstaller[427:4221] Install Log: Type:Network Severity:Debug Message:Response from Priviledged Helper: 0 | |
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Resources/com.oracle.java.Java-Updater.plist: Operation already in progress | |
2015-10-20 18:40:12.968 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:From Ping Delegate | |
2015-10-20 18:40:12.969 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Unlocking ContinueButton = <NSButton: 0x7fb2f0ccaf60>: 0 | |
2015-10-20 18:40:13.034 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:Incoming response: <NSHTTPURLResponse: 0x7fb2f0e5f300> { URL: http://rps-svcs.sun.com/services/countrylookup } { status code: 200, headers { | |
Connection = "keep-alive"; | |
"Content-Length" = 269; | |
"Content-Type" = "text/html"; | |
Country = US; | |
Date = "Tue, 20 Oct 2015 22:40:13 GMT"; | |
Expires = "Tue, 20 Oct 2015 22:40:13 GMT"; | |
"Mime-Version" = "1.0"; | |
Server = AkamaiGHost; | |
} } | |
2015-10-20 18:40:13.034 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:country in NSString: US | |
2015-10-20 18:40:13.035 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:Installed Browser: Firefox.app Firefox | |
2015-10-20 18:40:13.036 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:Installed Browser: Safari.app Safari | |
2015-10-20 18:40:13.036 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:XMLDocument | |
<?xml version="1.0" encoding="UTF-8" standalone="no"?><request><sc_xml_ver>1.0</sc_xml_ver><reportsuiteid>suninstallstat</reportsuiteid><visitorid>564DE9CFA5240C784E51C35061564BA8</visitorid><prop21>564DE9CFA5240C784E51C35061564BA8</prop21><prop20>******</prop20><pagename>ic</pagename><evar2>1.8.65.17</evar2><evar3>1.8.60.27</evar3><evar6>10.10.5</evar6><evar7>joff</evar7><evar8>US</evar8><evar24>0</evar24><evar25>0</evar25><evar50>B01010</evar50><events>event6,event7</events><products>jre|0,;XSP300|-144;;;;event7=1</products></request> | |
2015-10-20 18:40:13.037 MacJREInstaller[427:4036] Install Log: Type:Ping Severity:Debug Message:Ping return 1 | |
2015-10-20 18:40:13.037 MacJREInstaller[427:4221] Install Log: Type:Network Severity:Debug Message:Calling performSelectorOnMainThread to set jre install code as 0 | |
2015-10-20 18:40:13.043 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Calling setJREInstallCode with 0 | |
2015-10-20 18:40:24.718 MacJREInstaller[427:4036] Install Log: Type:Network Severity:Debug Message:Curent step 2,Try to open https://java.com/verify/?src=install | |
2015-10-20 18:40:24.718 MacJREInstaller[427:4036] Install Log: Type:Other Severity:Debug Message:Application support directory:/var/root/Library/Application Support | |
computername:~ username$ |
I miss the days of getting Java updates through Apple.
No clunky asking for permissions by default, no this or that. Just. straightforward. updates. Period.
I’d like to install it as part of a DeployStudio workflow silently. The notes in this article sound like there is still some user input required.
Is there some way to make this totally silent?
I have tried installing Java 8 version 65. After I click close (to verify that java is working) a web page is opened (padlock) Oracle Corporation. this asks; verify Java Version. Check to ensure that you have the recommended version of Java installed for your operating system. There is a red ‘Verify Java version’ to click on.
Is this the correct format (ie not a virus version of the installer)?
Prefect. Thanks Rich. Added the additional path to the Applet pkg to our command line java installer workflow and all was back to normal. Not as flexible as before but at least it works.
I am attempting to deploy the installation through ARD but can’t find a way to disable the yahoo installation part of the process through CLI. I did find an article where someone used open /pathtopkg -args sponsors =0 or something similar but those -args flags dont work with installer. Has anyone found a way to deploy the installation without the yahoo crapware?