Java Update 8u111 Hell and Final Working Solution
A lot of threads on the web that dicuss the inconsistent hell that is Java updates. Here's what worked for me on a particular update (8u111 / 1.8.0_111) that was causing issues.
Problem: JRE 1.8.0_111 was not installing inplace (patch-in-place) even with a STATIC=0 parameter. We needed it to install in the \jre8\ folder, not a static looking \jre1.8.0_111\ folder.
For update 8u20 Java said[0]:
Starting with JDK 8u20 release, the JRE will be installed in a version specific directory. For example:
C:\Program Files\Java\jre1.8.0_20
The version specific directory naming is intentional and it does not indicate that the JRE install is static.
But that looks pretty static to me, and breaks from previous implementation and support documentation.
Various combinations of switches and parameters were used with the non-web EXE installer and MSI file. What I would see when trying to perform a patch-in-place solution was the MSI log stating a validateinstalldir failure.
What ended up working was using the REMOVEOLDERJRES=1 parameter with the MSI installer, but it still required the INSTALLDIR parameter as well. All of this is very inconsistent with Java documentation and/or is confusing as hell.
Below is the final command that allowed a patch-in-place type solution for Java 8u111 update.
msiexec /i jre1.8.0_111.msi REMOVEOLDERJRES=1 INSTALLDIR="C:\Program Files\Java\jre8" INSTALL_SILENT=Enable AUTO_UPDATE=Disable STATIC=Disable WEB_ANALYTICS=Disable /l*v c:\jre8_32setup.log
[0] http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html [1] http://www.itninja.com/question/java-8-update-25-can-t-install-to-default-path-always-getting-the-static-path












