2011-03-24 82 views
13

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

因此总之JRE没有被卸载
我重新安装了Java SDK,但仍然没有为我工作。 我再次卸载Java SDK,并试图卸载JRE .....它不起作用。

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

请让我知道哪些JRE条目应该删除以及它们位于何处!

回答

13

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

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

[HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft的\ Java运行时环境\ CURRENTVERSION]

定位当前的Java安装,然后获取路径JRE的从相应的键

[HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft的\ Java运行时环境\ 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 /插件或基于WebStart的程序,注册表总是用于确定当前的JRE。

+0

谢谢damodar ......我删除了javasoft中的注册表项.....但是当我去卸载Windows程序列表时,我仍然看到java更新24,当我试图unistall它它给了我我上面提到的错误..........所以你可以请告诉,我该如何解决这个问题 – tecman 2011-03-24 06:52:41

+0

如果我的帖子到达你投票给我。请解释清楚。 – developer 2011-03-24 06:55:10

+0

总之,即时通讯期待卸载Java(与JRE)完全.... – tecman 2011-03-24 06:55:40

8

我发现了一个很不错的信息在下面的链接来解决与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一起使用。

问候,

+1

谢谢!这个解决方案帮助我在Windows 7 SP1 x64上。 – MockerTim 2011-05-10 19:02:07

+0

很高兴知道!只是通过创建一个批处理,并使用此我管理也解决了一个长期问题:) – will824 2011-05-11 06:58:48

+1

+1是的。我也在Windows7 SP1 x64上为我工作。 – Eugene 2011-10-04 10:25:05

0

我删除JAVA_HOME从我的环境变量,我的路径,然后我能够删除的文件夹并重新安装JDK和JRE。