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