Назад | Перейти на главную страницу

Как узнать, требуется ли приложению Windows 64-разрядная версия

Можно ли в 64-разрядных версиях Windows определить, требуется ли для запуска исполняемого файла 64-разрядная версия?

Я ищу способ лучше, чем Process Explorer, чтобы узнать, желательно ПЕРЕД запуском.

РЕДАКТИРОВАТЬ: Итак, как я могу узнать, что для приложения требуется среда Win64?

Об этом вам сообщит флаг архитектуры процессора в заголовке EXE или DLL. Утилита PEDUMP (http://www.wheaty.net/downloads.htm) сбросит эту запись. В разделе «Заголовок файла» найдите «Компьютер». Флаг i386 (32-битный Intel) - 0x014c. 64-битный флаг x86 - 0x8664.

Смотрите также: https://stackoverflow.com/questions/197951/how-can-i-determine-for-which-platform-an-executable-is-compiled/198009

Другой простой способ - использовать 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...
...

Одно место, где можно получить PESnoop, находится здесь: http://www.prestosoft.com/download/plugins/PESnoop.zip

А для вас, энтузиастов графического интерфейса, самый простой способ - установить это расширение Explorer:

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

Некоторые поставщики также помещают в файл метаинформацию, указывающую, что это 64-битный двоичный файл. Получите свойства файла .exe и посмотрите на вкладку версии. Например, SQL Server 2005 говорит в описании «SQL Server Windows NT - 64 Bit». Он также имеет другую информацию, указывающую 64-битную версию, в полях в разделе «Другая информация о версии». Однако это будет зависеть от поставщика.