繁体   English   中英

如何从Windows注册表中删除JRE条目?

[英]How to remove JRE entries from Windows registry?

我错误地从Windows机器上删除了Java文件夹
现在我在各种插件和所有插件中遇到问题,它要求我下载最新的JRE 当我尝试这样做时,它说JRE已经存在 ,你想删除旧的JRE并安装新的JRE吗? 我说是,然后它给了我错误“1723”。

所以简而言之, JRE没有被卸载
我重新安装了Java SDK,但仍然无法正常工作。 我再次卸载了Java SDK,并尝试卸载JRE .....它不起作用。

所以,我看到唯一的方法是从Windows注册表中删除JRE条目。
我试图使用像JavaRaRevo Uninstaller等软件......但他们没有帮助我。

请告诉我应该删除哪些JRE条目以及它们的位置!

JDK本身不使用Windows注册表来运行。 使用系统注册表的JRE在某些情况下运行,例如Applet或使用WebStart技术启动的程序。

最后,如果从Windows系统目录(例如C:/winnt/system32/java.exe)运行,JRE将仅使用注册表。 如果用户只是在某个随机目录中的命令行上键入“java”,则会发生这种情况,因为系统目录始终位于用户的路径中。 在这种情况下,java.exe将通过查看注册表项来查找当前的Java安装

[HKEY_LOCAL_MACHINE \\ SOFTWARE \\ JavaSoft \\ Java Runtime Environment \\ CurrentVersion]

然后从相应的密钥中获取JRE的路径

[HKEY_LOCAL_MACHINE \\ SOFTWARE \\ JavaSoft \\ Java Runtime Environment \\ 1.5 \\ JavaHome]

请注意,某些软件(例如Oracle)会在PATH定义的开头安装它们,因此首先要找到它们的Java安装。 您可以运行java.exe文件的绝对路径,如

“C:\\ Program Files \\ Java \\ jre1.5.0 \\ bin \\ java.exe”MyClass

它不会使用注册表,并且将保证使用jre1.5.0。 因此,对于常规Java SE程序,可以安全地指定JRE的完整路径以启动它。

但对于Applet / Plugin或基于WebStart的程序,注册表始终用于确定当前的JRE。

我在以下链接中找到了用Java修复安装程序问题的非常好的信息来源:

http://forums.whatthetech.com/index.php?showtopic=104537

似乎必须删除Windows中的以下注册表项:

reg query hklm\software\classes\installer\products /f "java(tm) 6" /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

已检查,它正在使用Windows 7 x64。

问候,

我从我的环境变量和我的路径中删除了JAVA_HOME,然后我就可以删除该文件夹并重新安装jdk和jre。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM