\ Program Files文件与\ Program Files(x86)在64位Windows中

除了容易区分32位图像和64位图像之外,还有什么理由要有单独的文件夹?

这不仅仅是为了人类的可读性,从64位分离32位应用程序有许多编程原因。 考虑“公用文件”文件夹。 如果您有一个32位应用程序和64位应用程序使用Common Files文件夹作为同名文件,那么您将首先安装软pipe。 Windows在将这些文件夹呈现给应用程序本身的方式上也存在差异,尽pipe我不太熟悉这些文件夹来解释它们。

最后,这是迁移到普通原生64位应用的许多步骤中的第一步。 以不同的方式呈现这些文件夹可以让开发人员和用户都看得见,而32位“Program Files(x86)”则是一个奇怪的人物。

正如你在你的问题中写的那样,这些文件夹是32位和64位应用程序的默认设置目录。

一个有趣的混合安装程序是SQL Server 2005:如果你安装安装64位版本,主要的SQL引擎文件将被复制到Program Files文件夹下,只有32位的工具将被安装在“Program Files(x86) “

您提到了原因:从64位程序文件中区分32位程序文件。 当您在64位Windows安装上运行一个32位程序时,Windows将该程序的%ProgramFiles%[C:\ Program Files英文版]中的文件夹请求redirect到x86选项[C:\ Program Files 86)]。 由于这种无声redirect,64位和32位程序可以共存而不会相互干扰。 (例如,64位Windows包括64位和32位版本的Internet Explorer。)Windows也为其自己的文件和registry项执行类似的redirect。