Java JDK8 Windows XP安装与“无... RegDeleteKeyExA 于... ADVAPI32.dll”的解决

来源:互联网 发布:背锅侠网络意思 编辑:程序博客网 时间:2024/05/16 14:06

【原文:http://blog.163.com/fan_ya/blog/static/117723340201446607624/】

在Java JDK8安装时,我的Windows XP报“无... RegDeleteKeyExA 于... ADVAPI32.dll”错,原来是对于Windows XP不再支持了,只能手动安装。

值得期待的Java JDK8终于尘埃落定,千呼万唤始出来。下载了jdk-8u5-windows-i586尝 试安装,可是在我的Windows XP下却报错
“jdk-8u5-windows-i586.exe - 无法找到入口
无法定位程序输入点 RegDeleteKeyExA 于动态连接库 ADVAPI32.dll 上。"。
只好请教万能的Google。果然找到了vaxquis回的这个帖子
http://stackoverflow.com/questions/20965564/installing-jdk8-on-windows-xp-advapi32-dll-error
原来是Java不再支持Windows XP了。
http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html

不过这次Java 8只是安装程序不支持,而非JDK和JRE不能用。那么就手动解决。
步骤是:
* 解压exe文件
* 解压tools.zip
* 解压*.pack文件
* 测试

建好目录,把JDK8安装包jdk-8u5-windows-i586.exe放在打算安装的目录下,如C:\Program Files\Java\jdk8就可以开始了。我的JDK是在D:\usr\java\jdk8u5下。

解压缩exe文件需要7zip。没有的话从 http://www.7-zip.org/下 载安装。

打开命令窗口 开始 -> 运行 -> cmd.exe


D:\usr\java\jdk8u5>set 7Z_HOME="C:\Program Files\7-Zip"


REM Step1.1 用7z展开exe,只会解压出来一个tools.zip
D:\usr\java\jdk8u5>%7Z_HOME%\7z x jdk-8u5-windows-i586.exe

7-Zip 9.20? Copyright (c) 1999-2010 Igor Pavlov? 2010-11-18

Processing archive: jdk-8u5-windows-i586.exe

Extracting? tools.zip

Everything is Ok

Size:?????? 203761173
Compressed: 159077280


REM Step2 用7z展开tools.zip
D:\usr\java\jdk8u5>%7Z_HOME%\7z x tools.zip

7-Zip 9.20? Copyright (c) 1999-2010 Igor Pavlov? 2010-11-18

Processing archive: tools.zip

Extracting? LICENSE
Extracting? README.html
...
Extracting? release

Everything is Ok

Folders: 114
Files: 1341
Size:?????? 203388473
Compressed: 203761173


REM Step3 JDK自带的unpack200解压*.pack
D:\usr\java\jdk8u5>FOR /R %f IN (*.pack) DO "bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"


D:\usr\java\jdk8u5>"bin\unpack200.exe" -r -v "D:\usr\java\jdk8u5\jre\lib\charsets.pack" "\usr\java\jdk8u5\jre\lib\charsets.jar"
Unpacking from D:\usr\java\jdk8u5\jre\lib\charsets.pack to \usr\java\jdk8u5\jre\lib\charsets.jar

...

A total of 4955 files (of which 4651 are classes) were written to output.

REM Step4 测试
D:\usr\java\jdk8u5>%JAVA_HOME%\bin\java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode)

到此就大功告成了。
其中还有一些小插曲,Stackoverflow中解压pack文件使用的%%f,而我的cmd环境需要使用单百分号%f。

de>FOR /R %%f IN (*.pack) DO "%JAVA_HOME%\bin\unpack200.exe" -r -v "%%f" "%%~pf%%~nf.jar"de>


0 0