2009-06-24 8 views
7

100%マネージドコードである.NET(C#)アプリケーションをインストールしています。インストーラ(InnoSetup)は、Vista x64の "Program Files(x86)"フォルダにアプリケーションをインストールしたいと思っていますが、これはインストーラ自体が32ビットしかないためです。 (私が間違っているなら、私を修正してください)は、ここに私の質問です:インストーラの質問:「プログラムファイル」または「プログラムファイル(x86)」?

  1. は、x86フォルダ内にあるが、私は認識していないよ舞台裏の方法で、まったく自分のアプリケーションに影響しますか?
  2. x86フォルダーにもかかわらず、アプリケーションがまだ真のx64アプリケーションとして実行されていると仮定しています - これは正しいですか?
  3. インストーラが "Program Files"フォルダにアプリケーションを置くことに利点がありますか?

ありがとう!

答えて

6
  1. おそらくありません。その(x86)フォルダに入っていると、古いアプリケーションは環境変数によって参照されるので、(必要であれば)もっと簡単に見つける傾向があります。

  2. はい。 EXEが「Any CPU」とマークされている限り、JITは64ビットとしてコンパイルされている必要があります。

  3. 64ビットであることが分かります。

+0

ありがとう、ありがとう。私は違いがあるとは思わなかったが、私はこれについてMSDNでドキュメントを見つけることができなかった。私はそれを見つけるために他のアプリケーションを必要としませんし、それが動いているので、私はそれを動かすことによってそれを打破する必要もありません。 :)私はちょうどそれを今のままにしておきます。ありがとう! –

3

参照:Install Mode: 32-bit vs. 64-bit

  1. 間違いなく。あなたのプログラムはC:\ Users \ All Users \ Desktopに置くことができ、あなたのアプリケーションはうまく動作します。

  2. Jeff「Any CPU」管理コードにコンパイルする場合、このコードは32ビットまたは64ビットのフレームワークで実行できます。おそらく、コードが32ビットで実行できるため、インストーラは32ビットのProgram Filesディレクトリを選択する可能性があります。私はInnoSetupをまったく知らない。

    参考:advantages to compiling as 64 bitおよびconsiderations of 32 bit vs. 64 bit。 "すべての64ビット"を選択する際に考えること。また、あなたがそうしても、「本当ですか?」という質問をしても...

  3. 64ビットインストールディレクトリに32ビットプログラムを置くことはお勧めできませんが、これは単に慣例に過ぎません。インストーラスクリプトでデフォルトのインストールパスを設定できるはずです。

+0

@phqありがとうございます。更新しました。 – maxwellb

0

唯一の問題は、そのフォルダ内のファイルを操作するための値をハードコードすると思います。しかし、私は確信していませんでした:)

関連する問題