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).


Microsoft Process Explorer -- find out what's running on your PC, and why

Process Explorer, a tool by Microsoft Sysinternals, can you show you that and much more:

enter image description here

This is also available for DLLs if you open the Lower Pane and set it to View DLLS with CTRL+D:

enter image description here

(Click image to enlarge)