2010-01-31 21:34:22 +0000 2010-01-31 21:34:22 +0000
106
106

インストールされているアプリケーションが64ビットか32ビットかを素早く見分ける方法

サードパーティ製のアプリケーション(この場合はCognos Data Manager)を64ビットのWindows Server 2003にインストールしています。

アプリケーションが64ビットアプリケーションとしてビルド/コンパイルされたのか、32ビットアプリケーションとしてビルド/コンパイルされたのかを簡単に判断する方法はありますか?

デフォルトではプログラムがProgram Files (x86)にインストールされるようになっていました。32bit版ということなんでしょうね。私はそれをOracleデータベースと通信させる必要がありましたが、それを動作させるために、問題を引き起こしていたので、最終的には括弧「(“と”)」を含まないディレクトリパスに再インストールしました。また、64ビットと32ビットの両方のOracleクライアントをインストールしました。

今後の参考として、"xxxx fred.exe “というコマンドを入力して、fred.exeが32ビットと64ビットのどちらのセットアップが必要か(ODBCデータソースなど)を教えてくれるようにしたいと思っています。

回答 (11)

91
91
91
2010-01-31 21:37:27 +0000

アプリケーションを実行すると、タスクマネージャで32ビットであることを示すために、横に「*32」が表示されているはずです。これは Server 2003 で実装されていると思いますが、誰かが明確にしてくれることを期待していますが、確証はありません。

PEiD で実行することもできます。PEiD は 64-bit の PE をサポートしていないので、64-bit の PE を使用している場合は窒息してしまいます。

Windows 用の有名な GNU file もあります。これは実行ファイルに関するあらゆる種類の情報を教えてくれます。

例:

$ file winrar-x64-392b1.exe
winrar-x64-392b1.exe: PE32+ executable for MS Windows (GUI)

$ file display.exe
display.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit</pre>

ご覧のように、64ビットのWinRARインストーラはPE32+に分類されています。32ビットのアプリケーションは、単にPE32という32ビットの実行ファイルです。

41
41
41
2013-08-24 15:57:10 +0000

最も簡単な方法は、他のプログラムをインストールしたり、ファイルを実行したりせずに、ファイルを右クリックしてプロパティを選択し、互換性タブに移動することです。グレーアウトされたオプションがなく、Windows XP と 9x モードが提供されている場合は、32 ビットです。グレーアウトされたオプションがあり、Vistaが最も古いモードの場合は64ビットです。アプリケーションを起動する必要は全くありません。

アプリケーションが既に起動している場合は、他の回答で述べた*32のアイデアを使用することができます。しかし、これはWindows 8.xとその新しいタスクマネージャでは利用できません。幸いなことに、Detailsタブのカラムヘッダを右クリックしてSelect columnsを選択することで、Platformカラムを有効にすることができます。カラムには、適切な「32ビット」または「64ビット」のいずれかが含まれます。

24
24
24
2010-01-31 22:20:32 +0000

Visual Studio や Platform SDK がインストールされている場合は、dumpbin /headers を使用して PE ヘッダの値を見ることができます。

64ビットの実行ファイルの例。

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (x64)
               5 number of sections
        4987EDCA time date stamp Tue Feb 03 08:10:02 2009
               0 file pointer to symbol table
               0 number of symbols
              F0 size of optional header
              23 characteristics
                   Relocations stripped
                   Executable
                   Application can handle large (>2GB) addresses

OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            8.00 linker version
           2A600 size of code
           18A00 size of initialized data
               0 size of uninitialized data
           2AE90 entry point (000000000042AE90)
            1000 base of code
               ...

32ビットの場合。

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               3 number of sections
        4B0C786D time date stamp Wed Nov 25 01:21:01 2009
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             103 characteristics
                   Relocations stripped
                   Executable
                   32 bit word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
            9.00 linker version
           42000 size of code
            4000 size of initialized data
           6F000 size of uninitialized data
           B0EE0 entry point (004B0EE0)
           70000 base of code
               ...

ファイルヘッダの最初の値は、アーキテクチャを示します: x86なら0x14C、x64なら0x8664です。

18
18
18
2011-08-27 00:49:56 +0000

16 進数エディタプログラムを持っている場合は、そのプログラムでファイルを開き、標準的なヘッダの紹介文(「このプログラムは DOS モードでは実行できません…」など)の直後に

“PE…L” (hex code: 504500004C) = 32 ビットの

または

“PE…d†” のいずれかが表示されるはずです。(16進数コード: 504500006486) = 64ビット

5
5
5
2010-09-03 14:56:41 +0000

0x1 EXE Explorer OS/2、NE、PE32、PE32+、VxDファイルタイプ用の実行ファイルエクスプローラです。

MiTeC Portable Executable Reader をベースにしたアプリケーションです。実行ファイルのプロパティや構造を読み込んで表示します。PE32(Portable Executable)、PE32+(64bit)、NE(Windows 3.x New Executable)、VxD(Windows 9x Virtual Device Driver)のファイルタイプに対応しています。.NET実行ファイルにも対応しています。

ボーランドコンパイラでコンパイルされたファイルの導入されたクラス、使用される単位、フォームを列挙します。

注意: GUI が付属しており、Windows のバイナリファイル構造を「探索」することができます。

残念ながら、コマンドラインから開く対象のバイナリさえ受け付けていないようです。しかし、その詳細はいくつかのケースで役に立つかもしれません。

3
3
3
2016-05-09 10:17:08 +0000

Sysinternals Suite ](https://technet.microsoft.com/en-us/sysinternals/bb897441.aspx) の一部である sigcheck.exe を使用して確認することができます。

2
2
2
2011-04-05 04:28:59 +0000

もう一つの簡単な方法は、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

– Dave

2
2
2
2014-02-14 23:32:00 +0000

Dependency Walker は、exeファイルだけでなくDLLファイルを検証するのに便利なGUIツールです。64ビットのDLLやEXEファイルの横には小さな64のアイコンが表示されます。

2
2
2
2011-04-05 04:57:31 +0000

そして、GUI愛好家のために、このエクスプローラ拡張機能をインストールするのが最も簡単な方法です: http://www.silurian.com/win32/inspect.htm

– Dave

1
1
1
2014-03-27 09:36:53 +0000

プログラムを実行すると、 Sysinternal Suite の [ “Process Monitor” (https://technet.microsoft.com/en-us/sysinternals/bb842062.aspx) (ProcMon) を使用することができます。

これはポータブルで、プロセスに関する多くの情報を提供してくれます。

1
1
1
2012-12-21 15:31:12 +0000
filever /bad *.exe

WAMD64かW32iかW16が最初の列になります。