15 September 2014

JDK8 in WinXP

 As we all know JDK8 installer doesn't work in WinXP.
This is the best solution found at stackoverflow.com :

http://stackoverflow.com/questions/20965564/installing-jdk8-on-windows-xp-advapi32-dll-error#tab-top

This happens because Oracle dropped support for Windows XP (which doesn't have RegDeleteKeyExA used by the installer in its ADVAPI32.DLL by the way) as described in http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html. Yet while the official support for XP has ended, the Java binaries are still (as of Java 8u20 EA b05 at least) XP-compatible - only the installer isn't...
Because of that, the solution is actually quite easy:
  1. get 7-zip (or any other quality archiver), unpack the distribution .exe manually, it has one .zip file inside of it (tools.zip), extract it too,
  2. use unpack200 from JDK8 to unpack all .pack files to .jar files (older unpacks won't work properly); JAVA_HOME environment variable should be set to your Java unpack root, e.g. "C:\Program Files\Java\jdk8" - you can specify it implicitly by e.g.
    SET JAVA_HOME=C:\Program Files\Java\jdk8
    • Unpack all files with a single command (in batch file):
      FOR /R %%f IN (*.pack) DO "%JAVA_HOME%\bin\unpack200.exe" -r -v "%%f" "%%~pf%%~nf.jar"
    • Unpack all files with a single command (command line from JRE root):
      FOR /R %f IN (*.pack) DO "bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"
    • Unpack by manually locating the files and unpacking them one-by-one:
      %JAVA_HOME%\bin\unpack200 -r packname.pack packname.jar
    where packname is for example rt
  3. point the tool you want to use (e.g. Netbeans) to the %JAVA_HOME% and you're good to go.
Note: you probably shouldn't do this just to use Java 8 in your web browser or for any similar reason (installing JRE 8 comes to mind); security flaws in early updates of major Java version releases are (mind me) legendary, and adding to that no real support for neither XP nor Java 8 on XP only makes matters much worse. Not to mention you usually don't need Java in your browser (see e.g. http://nakedsecurity.sophos.com/2013/01/15/disable-java-browsers-homeland-security/ - the topic is already covered on many pages, just Google it if you require further info). In any case, AFAIK the only thing required to apply this procedure to JRE is to change some of the paths specified above from \bin\ to \lib\ (the file placement in installer directory tree is a bit different) - yet I strongly advise against doing it.

See also: How can I get the latest JRE / JDK as a zip file rather than EXE or MSI installer?, JRE 1.7 returns: java/lang/NoClassDefFoundError: java/lang/Object

----------------

From
https://blogs.oracle.com/henrik/entry/the_future_of_java_on

Q: Can I install JDK 8 on Windows XP? Will it work?
A: The installer does not work on Windows XP. You can unpack it manually and it will likely run fine.


No comments :

Blog Archive

Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.