2009-06-24 98 views
7

我正在安裝100%託管代碼的.NET(C#)應用程序。安裝程序(InnoSetup)總是希望將應用程序安裝到Vista x64中的「Program Files(x86)」文件夾中,我假設這是因爲安裝程序本身只有32位。 (請糾正我,如果我錯了)下面是我的問題:安裝程序問題:「Program Files」或「Program Files(x86)」?

  1. 是否在x86文件夾影響我的應用程序在所有我不知道的幕後方式?
  2. 我假設我的應用程序仍將作爲真正的x64應用程序運行,儘管它位於x86文件夾中 - 這是正確的嗎?
  3. 讓安裝程序將應用程序放入「Program Files」文件夾會有什麼好處嗎?

謝謝!

回答

6
  1. 可能不是。在那個(x86)文件夾中,舊的應用程序往往會發現它更容易(如果需要的話),因爲它們通過環境變量引用它。

  2. 是的。只要你的EXE被標記爲「任何CPU」,它應該被JIT編譯爲64位。

  3. 它會更清楚,它是64位。

+0

優秀的,謝謝。我不認爲這有什麼區別,但我無法在MSDN中找到關於此的任何文檔。我不需要其他應用程序來查找它,因爲它正在工作,所以我也沒有必要通過嘗試移動它來打破它。 :)我現在就把它保留原樣。謝謝! – 2009-06-24 17:35:19

3

參考:Install Mode: 32-bit vs. 64-bit

  1. 絕對不是。你可以把你的程序放在C:\ Users \ All Users \ Desktop中,你的應用程序運行得很好。

  2. 由於Jeff提到,如果您編譯爲「任何CPU」託管代碼,則此代碼可以在32位或64位框架上運行。也許是因爲代碼可以 32位安裝程序選擇了32位Program Files目錄下運行。我根本不知道InnoSetup。

    參考:advantages to compiling as 64 bitconsiderations of 32 bit vs. 64 bit。在選擇「全部64位」時需要考慮的事情。甚至當你這樣做時,問問題「你確定嗎?」...

  3. 我不會推薦在64位安裝目錄中放置32位程序,但這僅僅是約定。您應該能夠在安裝程序腳本中配置默認​​安裝路徑。

+0

@phq謝謝。更新。 – maxwellb 2012-11-20 16:33:11

0

唯一的問題,我可以認爲,如果你硬編碼的任何值操縱該文件夾中的文件。但是我相信你沒有:)

相關問題