64ビットと32ビットの両方のプラットフォームにデプロイしようとしているアプリケーションがあります。コンパイルされた両方のバージョンのコードを同じバイナリ、つまりAppleとNeXTのファットバイナリに入れる方法はありますか?
理想的には、実行するコードのバージョンを実行時に決定する1つの.exeを出荷できます。WindowsXP以降を対象としています。
64ビットと32ビットの両方のプラットフォームにデプロイしようとしているアプリケーションがあります。コンパイルされた両方のバージョンのコードを同じバイナリ、つまりAppleとNeXTのファットバイナリに入れる方法はありますか?
理想的には、実行するコードのバージョンを実行時に決定する1つの.exeを出荷できます。WindowsXP以降を対象としています。
Process Explorer(以前はsysinternalsでしたが、現在はMicrosoftが所有しています)がこれを行います。これは、64ビット環境を検出し、別のバイナリを書き出して、終了時に削除する32ビットアプリケーションです。http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
1つのアプローチは、アーキテクチャを決定し、実行する適切な実行可能ファイルを選択するブートストラップアプリケーションを提供することです。したがって、基本的に、アプリケーションへのショートカットまたはあなたが持っているものは、単にブートストラッパーを起動し、次に適切なアプリケーションを起動します。アプリケーションがWindowsサービスの場合、これはもう少し注意が必要です。
最も簡単なアプローチは、インストーラーによってこれを処理することです。各バイナリの2つのバージョンがあり、ターゲットマシンのシステムビット数に応じて必要なバージョンをコピーします。