安装程序问题:“程序文件”或“程序文件(x86)”?

时间:2009-06-24 17:25:27

标签: installer x86 64-bit

我正在安装一个100%托管代码的.NET(C#)应用程序。安装程序(InnoSetup)总是希望将应用程序安装到Vista x64中的“Program Files(x86)”文件夹中,我假设这是因为安装程序本身只有32位。 (如果我错了,请纠正我)以下是我的问题:

  1. 在x86文件夹中是否会以我不知道的幕后方式影响我的应用程序?
  2. 我假设我的应用程序仍然作为真正的x64应用程序运行,尽管它位于x86文件夹中 - 这是正确的吗?
  3. 让安装程序将应用程序放在“Program Files”文件夹中会有什么好处吗?
  4. 谢谢!

3 个答案:

答案 0 :(得分:8)

  1. 可能不是。在(x86)文件夹中,旧应用程序往往更容易找到它(如果需要),因为它们通过环境变量引用它。

  2. 是。只要您的EXE标记为“任何CPU”,它应该被JIT编译为64位。

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

答案 1 :(得分: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 bitconsiderations of 32 bit vs. 64 bit。选择“全64位”时要考虑的事情。即使你这样做,也会问“你确定吗?”......

  3. 我不建议在32位安装目录中放置32位程序,但这仅仅是为了惯例。您应该能够在安装程序脚本中配置默认​​安装路径。

答案 2 :(得分:0)

如果你硬编码任何值来操纵该文件夹中的文件,我唯一能想到的问题。但我相信你没有:)