Java Error opening registry key
JavaDllRuntimeRegistryJava Problem Overview
I get this error when I try to do anything with Java in command prompt:
Error opening registry key 'Software\JavaSoft\Java Runtime Environment.3'
Error: could not find Java.dll
Error: could not find Java 2 Runtime Environment
I did screw around with deleting Java directories and registry a few days ago. I restarted computer and java was still working fine, then i restarted it again today and now I get this error. I have tried uninstalling and reinstalling but that doesn't seem to work. I have the latest java JRE installed and the path set in the environment variables. Anyone have any clue how to fix this?
Java Solutions
Solution 1 - Java
Make sure you remove any java.exe
, javaw.exe
and javaws.exe
from your Windows\System32
folder and if you have an x64 system (Win 7 64 bits) also do the same under Windows\SysWOW64
.
If you can't find them at these locations, try deleting them from C:\ProgramData\Oracle\Java\javapath
.
Solution 2 - Java
You will find a folder named "Oracle" on ProgramData folder in your windows installed drive. Remove the folder. Hope it will work. In my case my install drive is C and my path is C:\ProgramData\Oracle
Solution 3 - Java
I had a similar problem. I had installed JDK7 update 1 but couldn't use it (probably because I found a JRE6 that I deleted after installing JDK7). Uninstalling JDK7 was impossible. The solution was to add the JRE registry entries by hand.
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.7"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_01]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"
You'll have to adjust the above to your own directories and version.
If this doesn't help, there's still JavaRa https://singularlabs.com/software/javara/ .
Solution 4 - Java
Delete these 3 files present in your local at path C:\ProgramData\Oracle\Java\javapath
java.exe
javaw.exe
javaws.exe
This solved the issue for me :)
Solution 5 - Java
Make sure you remove any java.exe, javaw.exe and javaws.exe from your system.
-
if you have an x32 system (Win XP 32 bits) Windows\System32 folder
-
if you have an x64 system (Win 7 64 bits) also do the same under Windows\SysWOW64 folder
Solution 6 - Java
On Windows 10 I had just installed the JDK, and got these errors when checking the version. I had to delete all executable files starting with java
(i.e. java.exe
, javaw.exe
and javaws.exe
) from C:\ProgramData\Oracle\Java\javapath
. And then, once deleted, re-run the JDK installer, restart my terminal program and java -v
works.
Solution 7 - Java
There are 3 locations to check
- Registry HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_xxx\JavaHome
- Java Control Panel- Java tab - View - Path
- Environment Variables - Path ($env:Path)
All 3 have to align (if you have multiple entires just remove the wrong ones) - thats all
Solution 8 - Java
I had the same:
Error opening registry key 'Software\JavaSoft\Java Runtime Environment
Clearing Windows\SysWOW64 doesn't help for Win7
In my case it installing JDK8 offline helped (from link)
Solution 9 - Java
I would have tagged this as a comment but cant (dont have the rep) just wanted to thank Tilman. I was trying to get PDFsam (PDF Split and Merge) to work to no avail.
At launch it would produce an error stating that it could not find JRE 1.6.0. I Have both 32 and 64 bit versions and they check out fine at the java website in their respective browsers.
Tried uninstalling/reinstalling and rebooting repeatedly as well as using JavaRa. No such luck, still no go.
I looked in the registry after reading this post and there was no ...\SOFTWARE\JavaSoft\ key so I added each with their respective string values pointing to my x86 version (PDFsam is a 32bit program). This got past the first problem but an error popped up about amd64 libraries suggesting the machine wanted to run the 64bit version. So I changed the paths to the 64bit JRE and PDFsam now works.
FYI - I got here by searching for Java registry keys after I was unable to launch javaw.exe from command prompt (even after adding the requisite paths to system path), making the aforementioned changes solved this as well.
Solution 10 - Java
I got this kind of error whe nI had JDK 1.7 before and I installed JAVA JDK 1.8 and pointed my JAVA_HOME and PATH variables to JAVA 1.8 version. When I try to find the java version I got this error. I restarted my machine, and it works . It seems to be we have to restart the machine after modifying the environment variables.
Solution 11 - Java
In case a virus scanner (like McAfee) is running, try:
- Disable virus scanner
- Uninstall Java (via Control Panel / Programs and Features)
- Reinstall Java (from http://java.com">Java.com</a>;)
- Re-enable virus scanner
Solution 12 - Java
Uninstall Java (via Control Panel / Programs and Features)
Install Java JRE 7 --> OFFLINE <--
Configure JAVA_HOME and Path = %JAVA_HOME%/bin;%PATH%
Solution 13 - Java
I have Windows 7. I got the same problem after installing: PyCharm. I wasn't satisfied with PyCharm, so I decided to use Eclipse instead. This is when I discovered that things went wrong with my JDK. I used to have Java.9.x. So I decided to uninstall it and get the newer version (at my time it was Java.11.x. The same problem persisted. I followed most of the steps mentioned above in the post like:
- Removing all java*.exe files,
- removing Java related entries from the registry.
- Cleaning-up all unnecessary Java folders. However nothing helped. I still had something in the system referring to a broken Java pathname.
What really brought remedy is the following:
- Uninstalled what ever version of JDK I had at the moment.
- Re-Installed the last JDK version I had before the problem took place
- Properly uninstall that version.
- Install whatever latest version of SDK. ..
That's it .. at this point everything returned to normal ... Except that Java.11.xx did not fix the system path automatically, I had to do it manually.
Solution 14 - Java
I followed multiple answers from above and got my issue resolved.
Issue:
Javac was on 13 from jdk but java was using 1.8 from jre so java threw incompatible runtime error
Fix:
-
Under Control Panel -> Programs: I uninstalled 1.8 (named Java 8 runtime) and DID NOT touch the other one (named Java (TM) SE Development Kit 13)
-
Deleted java.exe, javac.exe and javawc.exe files from: a. C:\Windows\system32 b. C:\Windows\SysWOW64 c. C:\ProgramData\Oracle\Java\javapath
-
The environment variable JDK_HOME was pointing to 13 but JAVA_HOME was pointing to 1.8 so i pointed JAVA_HOME to also use 13 which was C:\Program Files\Java\jdk-13.0.1
-
There was a Path variable under both User variables and system variables sections. For the one in user variables section, i added the string %JDK_HOME% - which translated automatically to the physical path. For the one under system variables, I deleted the path C:\ProgramData\Oracle\Java\javapath and added C:\Program Files\Java\jdk-13.0.1\bin
All good now! Thanks to all the people who answered, you rock!
Solution 15 - Java
Make sure to delete java references from system32, SysWOW64, and delete javapath from ProgramData\Oracle\Java. It solves the issue
Solution 16 - Java
If you have "C:\ProgramData\Oracle\Java\javapath" in your PATH, just make sure that the java bin path entries are present before this entry in your PATH.
I was facing the exact same issue, and I just moved the java jdk/jre bin path entries up in the list, above the oracle entry and it resolved my issue.