如何清除注册表中的Java安装信息
来源:互联网 发布:plc编程指令大全 编辑:程序博客网 时间:2024/05/15 09:14
在Windows中,如果本地安装过Java,但存在问题无法使用,需要重新安装同版本的Java时,会提示如下信息:
- This software has already been installed on your computer. Would you like to reinstall it?
确认后没有响应,或直接报错:
- This action is only valid for products that are currently installed.
因而,无法重新安装,也无法卸载Java。
造成这种情况的原因是,原有Java安装目录已经被删除\或损坏了,但注册表中的Java安装信息还存在,这样重装时Java安装程序就会认为已经安装过了。
因而,需要先清除注册表中的Java安装信息,再执行Java安装程序。消除注册表时一定要将关键的Java信息清除干净,如果有残留的键值,则还是无法重装Java。
清除Java注册表时,主要参考了这篇文章:"Java Setup Problem, This action is only valid for products that are currently installed"。
其中提供了JavaMSIFix.exe和fixjava.bat两个修复java的小程序,文章中建议使用JavaMSIFix.exe,说fixjava.bat可能在WinXP有些情况下不好使(有同事的XP环境fixjava.bat直接报语法错误)。我试了下,JavaMSIFix.exe修复Java7时不好使,可能是写程序时Java7还没发布呢,所以没支持,其他Java版本没试过。fixjava.bat这个小程序在Win7下很好使,使用时可以根据自己的情况做些调整,脚本内容如下:
- reg 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
- java 7
- 创建fixjava.bat脚本,检查代码内容是否满足要求,并编辑保存
- 双击执行fixjava.bat脚本,清除注册表中的Java安装信息
- 重新执行Java安装程序
- Ok,完成
- 将HKEY_LOCAL_MACHINE\software\classes\installer\products下的ProductName项含有"Java"字样的所在分支全部删除,见下图。
- 删除HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment分支
- 重新执行Java安装程序
- Ok,完成
- 如何清除注册表中的Java安装信息
- 如何清除注册表中的Java安装信息
- 清除注册表中的vmware信息
- java读取注册表中的信息
- C#如何读取注册表中的注册信息
- jdk的安装过程 注册表中的信息
- jdk的安装过程 注册表中的信息
- 如何在 Java 卸载失败之后清除注册表?
- 如何浏览注册表信息
- 注册表中的驱动程序信息
- c#获取软件在注册表中的安装信息
- 如何清除WINCE系统中的蓝牙配对信息
- 如何手动清除Windows上Domino的安装信息
- 【jiasuba】如何一键清除注册表
- Java清除图片中的恶意信息(利用jmagick)
- Dreamweaver在注册表中的信息
- 清除项目中的VSS信息
- 【转】Java操作注册表信息 .
- sql批处理
- 关联规则算法2-----关联规则FP-Growth
- Grails企业管理系统搭建配合NAT123外网发布,NAT123服务全免费哦
- moment.js--时间格式化处理利器
- Android跨包访问SharedPreferences空指针!
- 如何清除注册表中的Java安装信息
- 深入理解计算机系统--优化程序性能
- 在Python的虚拟环境中安装flask
- hdu 5833
- OpLog文件操作记录与权限控制组件
- Apache JMeter实现Trafodion并发测试
- Linux 打开文件件句柄数的问题
- windows下硬盘安装debian
- 密码显示隐藏符号格式会变