I can run .jar files through cmd, but I cannot double click them

Lightfire228 picture Lightfire228 · Aug 26, 2013 · Viewed 29.3k times · Source

When I download a .jar file to say install a mod to minecraft and double click it, it doesn't run. The loading wheel goes for like two seconds and then stops, and nothing else happens. The .jar I know is set up right because it runs through cmd with the command

    cd "wherever the file is"
    java -jar "file name".jar

So I've already tried to run it with the default program set as javaw.exe in the java\jdk1.7.0_25\jre\bin. Same where nothing happens. So the file association is set to the right place. I am at a loss here.

It isn't so bad since I can still run them through cmd, but when I get to the part in the book about jars, I want to be able to run it through the Windows Explorer GUI, which is like half the benefit of using .jar files that I can see.

Is it possibly a registry error? I have seen a lot of questions specifically about this problem, but most of them it seems were problems with setting up the .jar, which I didn't do, and I don't think that is the case here.

I have Windows Vista 64bit.

If I wasn't specific enough, feel free to ask.

Answer

Meghan picture Meghan · Dec 4, 2013

I had the same problem, and it turns out that the .jar file association in the registry was broken. The following steps fixed it:

  • Open the Registry Editor, and navigate to HKEY_CLASSES_ROOT\jarfile\shell\open\command, and modify the value of the Default key as follows
  • Replace [Location of your JRE] in "[Location of your JRE]\bin\javaw.exe" -jar "%1" %* with the root directory of your JRE installation. For example, "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*.
  • Repeat the above steps for HKEY_LOCAL_MACHINE\SOFTWARE\Classes\jarfile\shell\open\command.

I have a Windows 7 machine, but I assume this would work for 32-bit environments as well.

EDIT: Fixed the path in the example - it should use the "Program Files" directory and not "Program Files (x86)".