Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

4 Answers 4

The processor architecture flag in the header of an EXE or DLL will tell you. The PEDUMP utility (http://www.wheaty.net/downloads.htm) 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: http://stackoverflow.com/questions/197951/how-can-i-determine-for-which-platform-an-executable-is-compiled/198009

share|improve this answer
    
Nice tip. Too bad there isn't a Windows Explorer extension for this (although this looks close: codeproject.com/KB/applications/asmshell.aspx). –  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: http://www.prestosoft.com/download/plugins/PESnoop.zip

share|improve this answer

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

http://www.silurian.com/win32/inspect.htm

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

 
discard

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.