2011-12-13 12 views
3

私は、.NET 4.0、C#でコーディングされた64ビットアプリケーションで作業しています。このアプリケーションで64ビットアプリケーションが32ビットプロセスを開始する

は、いくつかの点で、私は次のコードを使用して別ののexeファイルを開始する必要があります。

l_process.StartInfo.FileName = _sFullFilePath; 
l_process.StartInfo.Verb = "Open"; 
l_process.StartInfo.CreateNoWindow = true; 
l_process.StartInfo.Arguments = l_sParams; 

l_process.Start(); 

を今、この外部アプリケーションは32ビット環境(x86の)でコンパイルされて、私が取得します次のエラー:

**The specified executable is not valid for this OS platform** 

これは可能ですか?はいの場合、問題を起こさずにこのアプリケーションを私のものから起動するにはどうしたらいいですか?

+0

を - そう、それは動作します。あなたの設定を確認してください - 32ビットアプリケーションは実際には32ビット(32ビットライブラリにリンクする54ビットとして開始)ではありません。 – TomTom

+2

外部アプリケーションはこの環境でも実行されますか? – Oded

+1

@TomTom - 54ビットアプリケーションとは何ですか? –

答えて

2

通常、64ビットマシン上で32ビットプログラムを実行するための特別な作業は必要ありません。

  1. 32ビットプログラムを個別に実行してください。
  2. この読み:私はそのようなプロセスのすべての時間を開始http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm
+0

1.それを個別に実行しています! 2.アプリケーションに32ビットのexeを伝えるために、私のコードで何かする必要がありますか? –

+0

コードの変更は必要ありません。 dllがないか、32ビット版のアプリケーションがあるかどうかを確認するには 'depends'を使用してください。 64ビットのアプリケーションで必要とされる64ビットのDLLもリンクしようとしています。 – Azodious

関連する問題