2011-03-24 44 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。