Windows Vista+ (x64) 上的“C:\Program Files”

Nei*_*ell 3 windows

究竟有什么区别:

C:\Program Files
C:\Program Files (x86)
C:\ProgramData

我有两个问题:

  1. 他们为什么不同?
  2. 我如何决定为任何给定资源查找哪个资源,以避免必须查看所有资源并将信息合并到我的脑海中?

DMA*_*361 7

简要地

Program Files 是安装64位软件的地方。

Program Files (x86) 是安装32位软件的地方。

Program Data是两组程序都应该写入他们想要为所有用户存储的数据(例如配置数据)的地方(因此不能进入单个用户AppDataMyDocs)并且不属于注册表。


这两个ProgFiles文件夹之间的差异允许您安装两个不同版本的软件(例如,Internet Explorer 有 32 位和 64 位两种版本),因为 Windows 会静默重定向来自(x86)文件夹中软件的请求。


至于问题 2,您可能Program Data大部分时间都可以忽略(那里不应该安装任何东西),但我经常发现自己在两个ProgFiles文件夹之间跳来跳去,所以我会在这里寻找其他答案来帮助解决这个问题。

  • 这对某些程序很重要!一些编译器、集成开发环境和类似程序需要 32 位版本和 64 位版本。在 Program Files 中找到 64 位,在 Program Files (x86) 中找到 32 位并不少见。尽管如此,没有必要像这样调用目录。它们也可以称为 a 和 b。只是 x86 暗示了它的内容。 (3认同)
  • 事实上,那些不使用 `%ProgramFiles%` 环境变量的文件不能被 Windows 自动重定向。 (2认同)