プログラム(.EXEまたは.DLL)が32ビットか64ビットかを確認する

一部のソフトウェア開発者は、32ビットシステムと64ビットシステムの両方のプラットフォームで実行される単一の実行可能ファイル(.EXEまたは.DLLファイル)をコンパイルします。 ただし、それらの多くは、32ビット(x86)および64ビット(x64)システムで実行するために個別の実行可能ファイル(.exe)をコンパイルします。 プログラムの64ビットバージョンは、通常、ファイル名に64またはx64サフィックスを付けて示されます(例:sigcheck.exeとsigcheck64.exe)。

場合によっては、ビット数表記が欠落している可能性があり、実行可能ファイルが32ビットか64ビットか疑問に思われるかもしれません。 この記事では、Windowsでプログラムまたは実行可能ファイルが32ビットか64ビットかを確認するさまざまな方法について説明します。

プログラム(.exeファイル)が32ビットか64ビットかを確認する

タスクマネージャの使用

32ビットプログラムは、WOW64 x86エミュレーターを使用して、Windows 64ビットオペレーティングシステムでシームレスに実行できます。 しかし、逆はうまくいきません。 Windows 32ビットで64ビットアプリケーションを実行すると、次のエラーが発生します。

このバージョンの[program.exe]は、実行中のWindowsのバージョンと互換性がありません。 コンピューターのシステム情報をチェックして、プログラムのx86(32ビット)またはx64(64ビット)バージョンが必要かどうかを確認し、ソフトウェアの発行元に連絡してください

program.exeは有効なwin32アプリケーションではありません

実行中の各プログラムのビット数は、タスクマネージャーの[詳細 ]タブで確認できます。

  1. タスクマネージャを開き、[詳細]タブを選択します。
  2. 列ヘッダーを右クリックし、 [列の選択 ]をクリックします 。 列ヘッダーは、 NamePIDStatusなどの各列のキャプションを持つ行です。

  3. プラットフォーム」チェックボックスを有効にして、「OK」をクリックします。

この例では、Notepad.exeの両方のバージョンを開きました。一方はWindows\System32から、もう一方(32ビットバージョン)はWindows\SysWOW64から開きました。 タスクマネージャーの[ プラットフォーム ]列には、各実行可能ファイルのビット数が表示されます。

ただし、この方法は実行可能ファイルに対してのみ機能し、DLLに対しては機能しません。 さらに、タスクマネージャーで詳細を確認するには、プログラムが実行されている必要があります。 GUIとは異なり、コマンドラインプログラムは通常、タスクの完了後、タスクマネージャーでプロセスの詳細を確認する前に実行および終了します。


メモ帳を使用して.exeファイルを開き、ヘッダーを確認します

実行可能ファイルのビット数を確認する別の方法は、メモ帳、メモ帳++、またはその他のテキストエディターを使用して実行可能ファイルを開くことです。 メモ帳でバイナリファイルを開いたら、[検索]オプションを使用して、最初に出現するPEという単語を探します。

PEヘッダーに続く文字は、ファイルが32ビットか64ビットかを示します。

  • 32ビット(x86)プログラムには、ヘッダーとしてPE Lがあります。
  • 64ビット(x64)プログラムには、ヘッダーとしてPE d†があります。

sigcheck.exe(32ビット)プログラムにはPE Lヘッダーがあり、64ビットバージョンのsigcheck64.exeにはPE d†ヘッダーがあることがわかります。

バイナリファイルのサイズが大きい場合、メモ帳がハングするか、バイナリファイルを開くのに時間がかかります。 その場合は、Notepad ++を使用できます。

ただし、テキストエディターを使用して実行可能ファイルを変更または保存しないでください。変更すると、実行可能ファイルが破損します。 実行ファイルが破損していると、起動時に次のエラーが発生します。

このアプリはPCで実行できません。 PCのバージョンを確認するには、ソフトウェアの発行元に確認してください。

したがって、いつものように、テキストエディタで表示する前に、元の実行可能ファイルをバックアップしてください。


Microsoft SysInternalsからのSigcheckの使用

Sigcheckは、Microsoft Windows SysInternalsのコマンドラインユーティリティで、ファイルバージョン番号、タイムスタンプ情報、デジタル署名の詳細(証明書チェーンを含む)を表示します。 出力するには、実行可能ファイルのビット数も表示されます。

例:

 sigcheck.exe c:\ windows \ system32 \ shell32.dll 
 sigcheck.exe C:\ Windows \ Notepad.exe 

出力:

 Sigcheck v2.54-ファイルバージョンと署名ビューアCopyright(C)2004-2016 Mark Russinovich Sysinternals-www.sysinternals.com c:\ windows \ notepad.exe:確認済み:署名済み署名日:11:14 AM 6/21/2019パブリッシャー:Microsoft Windows会社:Microsoft Corporation説明:メモ帳製品:Microsoft«Windows«オペレーティングシステム製品バージョン:10.0.18362.1ファイルバージョン:10.0.18362.1(WinBuild.160101.0800)MachineType: 64ビット 

MiTec EXE Explorerの使用

MiTec EXE Explorerは、実行可能ファイルのプロパティと構造を読み取って表示するサードパーティプログラムです。 PE32(Portable Executable)、PE32 +(64bit)、NE(Windows 3.x New Executable)およびVxD(Windows 9x Virtual Device Driver)ファイルタイプと互換性があります。 .NET実行可能ファイルもサポートされています。

関連記事