What is the difference between “system32\java.exe” and “Program Files\Java\jdk1.6.0_33\bin\java.exe”?

前端 未结 2 1973
天涯浪人
天涯浪人 2020-12-01 09:13

I have just installed Java JDK 6u33 in Windows XP. Even though I didn\'t set the PATH environment variable, I am able to run java -version in command prompt.

2条回答
  •  暖寄归人
    2020-12-01 09:43

    (Not an answer but rather a comment on Mattias's answer) Not sure about this "dummy" business. The java.exe in system32 is a normal file, not even a symbolic or hard link. Mattias may be referring to the problem that is explained here: http://msdn.microsoft.com/en-us/library/aa384187

    In a nutshell, if you have a 64-bit system and a Java installation, 32-bit applications won't see the java.exe (nor javaw.exe, javaws.exe) that is installed in C:\Windows\System32\ because they'll be presented with C:\Windows\SysWoW64\ masquerading as C:\Windows\System32. The installer fails to put a copy of java.exe in SysWoW64, hence a 32-bit app that tries to launch Java will fail to do so. This will puzzle the user if he looks in the system32 directory using explorer, since explorer is a 64-bit app and will thus see the "real" system32 directory.

提交回复
热议问题