How can I find out if a given program is 64 or 32 bit version? [duplicate]
How can I find out if a given program is 64 or 32 bit version? I can't to do it by simply looking at where it's installed, since some programs need no installer and may be put anywhere.
Here, no process explorer will help me, since the application refuses to start.
Reason why I need it: My new eclipse installation fails to load "jvm.dll" just like here. I'd bet I'm using 64-bit versions of both eclipse and JVM, but I'm slowly getting unsure.
There is a GNU-util called "file
". You can download GNU Coreutils for Windows and download the file
package here.
If you run something like
cd C:/path/to/file/
file myfile.exe
it will output something along the lines of the following
myfile.exe: ELF 64-bit LSB executable, x86-64, [...]
so the output of file myfile.exe
tells you that the executable is a 64-bit executable.
If you don't want to install GNU Coreutils on Windows and happen to have Linux installed, most popular distros include the file
utility. You could also use a liveCD to boot Linux from a CD.
I had similar problems with JNI in the past too. For me, the solution was to find by hand location of equivalent 64bit dll and enter it into needed setting file.
Also make sure that you have installed 64bit JRE too (it should have been installed automatically with newest versions of JDK, but this doesn't happen on older versions of JDK).
Process Explorer, a tool by Microsoft Sysinternals, can you show you that and much more:
This is also available for DLLs if you open the Lower Pane and set it to View DLLS with CTRL+D:
(Click image to enlarge)