java无法_JAVA无法安装的解决方法

当Windows中的Java出现问题需要重新安装,但安装时遇到已安装提示,可尝试通过清理注册表信息来解决。文章提供两种工具:JavaMSIFix.exe和fixjava.bat,推荐使用后者,它能删除Java关键注册表项。首先,编辑并运行fixjava.bat脚本清理注册表,然后重新执行Java安装程序。如果在WinXP中遇到问题,可以手动删除特定注册表键值。
摘要由CSDN通过智能技术生成

在Windows中,如果本地安装过Java,但存在问题无法使用,需要重新安装同版本的Java时,会提示如下信息:

Java代码icon_copy.gificon_star.png

spinner.gifThissoftwarehasalreadybeeninstalledonyourcomputer.Wouldyouliketoreinstallit?This software has already been installed on your computer. Would you like to reinstall it?

确认后没有响应,或直接报错:

Java代码icon_copy.gificon_star.png

spinner.gifThisactionisonlyvalidforproductsthatarecurrentlyinstalled.This action is only valid for products that are currently installed.

因而,无法重新安装,也无法卸载Java。

造成这种情况的原因是,原有Java安装目录已经被删除\或损坏了,但注册表中的Java安装信息还存在,这样重装时Java安装程序就会认为已经安装过了。

因而,需要先清除注册表中的Java安装信息,再执行Java安装程序。消除注册表时一定要将关键的Java信息清除干净,如果有残留的键值,则还是无法重装Java。

其中提供了JavaMSIFix.exe和fixjava.bat两个修复java的小程序,文章中建议使用JavaMSIFix.exe,说fixjava.bat可能在WinXP有些情况下不好使(有同事的XP环境fixjava.bat直接报语法错误)。我试了下,JavaMSIFix.exe修复Java7时不好使,可能是写程序时Java7还没发布呢,所以没支持,其他Java版本没试过。fixjava.bat这个小程序在Win7下很好使,使用时可以根据自己的情况做些调整,脚本内容如下:

Fixjava.bat代码icon_copy.gificon_star.png

spinner.gifregqueryhklm\software\classes\installer\products/f"java"/s|find"HKEY_LOCAL_MACHINE">deljava.txt

for/f"tokens=*delims="%%ain(deljava.txt)doregdelete%%a/f

deldeljava.txt

regdelete"HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaRuntimeEnvironment"/f

regdelete"HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\JavaSoft\JavaRuntimeEnvironment"/freg query hklm\software\classes\installer\products /f "java" /s | find "HKEY_LOCAL_MACHINE" > deljava.txt

for /f "tokens=* delims= " %%a in (deljava.txt) do reg delete %%a /f

del deljava.txt

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\JavaSoft\Java Runtime Environment" /f

这个fixjava.bat批处理脚本,就是删除注册表中关键的Java产品信息。我将原脚本中第一行的搜索关键字由java(tm)6改为java,以更支持删除任意版本的Java注册表。如果Java版本很明确,也可以指定搜索及删除的具体版本,如:java(tm)5

java(tm)6

java7

建议使用fixjava.bat脚本来消除,一个是有脚本代码,很清楚脚本里做了哪些事情。另一个,也可根据个人的需要来修改脚本,比较灵活。

综上,重新安装Java环境的步骤为:

创建fixjava.bat脚本,检查代码内容是否满足要求,并编辑保存

双击执行fixjava.bat脚本,清除注册表中的Java安装信息

重新执行Java安装程序

Ok,完成

附注:如果上述脚本在WinXP中执行报错,则可以通过手工方式删除注册表中的Java信息,如下:

将HKEY_LOCAL_MACHINE\software\classes\installer\products下的ProductName项含有"Java"字样的所在分支全部删除,见下图。

删除HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaRuntimeEnvironment分支

重新执行Java安装程序

Ok,完成

2b46f2b8-18e2-3241-8cf9-6f6851933151.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值