Java….. not only is the product itself pretty much a virus, the deployment and ongoing management of it just plain sucks.
It seems that for Java 8 update 60, the dev’s have managed to add that little bit more complexity.
If you download and install the offline installer from the java web site (http://www.java.com/en/download/manual.jsp), you get the familiar .exe with an msi within it.
The msi can be obtained by simply running the installer and navigating to C:\users\%username%\AppData\LocalLow\Oracle\Java\jre1.8.0_60 <or similar for later versions>
This has been a common method of getting the MSI then simply putting it into SCCM for years…. but now there is a requirement to have the file C:\Programdata\Oracle\Java\Java.Settings.cfg in place before running the MSI.
So… what about alternate methods
Using the recommend approach by Oracle – http://www.oracle.com/technetwork/java/javase/silent-136552.html results in utilising the executable with a config file.
From my testing, it seems that the config file must be fully path’ed and must be on a local drive (i.e. not a unc path) – this is do-able via SCCM by simply scripting the files to be copied locally and executed…. but this is turning something that should be simple into more lines than it needs to be. You can still use the msi detection method – but having the msi already extracted makes finding the code just quicker and easier.
Another method is to get the java natively as an MSI as per https://www.java.com/en/download/help/msi_install.xml , however, this required an oracle logon – and even with the logon, unless you have ” Oracle Java SE Advanced” (whatever that is), you do not get access to it.
Why is this so fucked?
I’m going to go out on a very very short limb here and suggest that Java is almost universally hated by deployment admins, its not that its stupidly hard – its that the deployment methods seem to change regularly, they do stupid things such as make a compiling a jar file required for updating security settings (java 7 update 51) and just generally seem to love making deployment and management of Java far far harder than it needs to be… for reasons best known to themselves.
In this instance, its not obvious from the doco (nor past experience) that this file needs to be copied down first.
When it does become clear, thanks to posts such as https://www.reddit.com/r/SCCM/comments/3iq6tq/installing_java_8u60_during_bc_task_sequence/?
all it does is add another un-necessary step to the packaging process…. and kill time.
Anyhoo – in short, to sum up
Extract the msi (as you have for the last few years) from the java install exe
Create your app
Copy a pre-made java.settings.cfg to C:\Programdata\Oracle\Java\Java.Settings.cfg (settings can be found here http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#installing_with_config_file )
Install your MSI
Shake your head and wonder why they don’t just give us an msi in the first place