Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In 64-bit Windows versions, is there a way I can tell if an executable requires 64-bit to launch?

I'm looking for a better way than Process Explorer to find out, preferrably BEFORE launching.

EDIT: So how would I know that an application requires Win64 environment?

share|improve this question

The processor architecture flag in the header of an EXE or DLL will tell you. The PEDUMP utility ( will dump that entry. In the "File Header" section, look at "Machine". The i386 (32-bit Intel) flag is 0x014c. The 64-bit x86 flag is 0x8664.

See also:

share|improve this answer
Nice tip. Too bad there isn't a Windows Explorer extension for this (although this looks close: – Brett Veenstra Jun 22 '09 at 20:41

Another simple way is to use PESnoop:

C:\>pesnoop photoshop.exe /pe_dh

 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda

Dump of file: photoshop.exe...
Modus:        64bit Portable Executable Image...

One place to get PESnoop is here:

share|improve this answer

And for you GUI enthusiasts, the absolute easiest way is to install this Explorer extension:

share|improve this answer

Some vendors will also put meta information in the file that will indicate that it's a 64-bit binary. Get the properties on a .exe and look at the version tab. For example, SQL Server 2005 says "SQL Server Windows NT - 64 Bit" in the description. It also has other information indicating 64-bit in fields under "Other version information". This would be up to the vendor, however.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.