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


11

除了容易区分32位图像和64位图像之外,还有其他文件夹的原因是什么?


我的印象是,这是下原因。
ceejayoz

Answers:


16

不仅出于人类可读性的考虑,还有很多程序上的原因将32位应用程序与64位应用程序分开。考虑“公用文件”文件夹。如果您有一个32位应用程序和64位应用程序使用Common Files文件夹存储具有相同名称的文件,则将使用第一个安装的文件。Windows如何将这些文件夹呈现给应用程序本身也存在差异,尽管我对它们还不够熟悉,无法很好地解释它们。

最后,这是向通用本机64位应用程序迁移的许多步骤中的第一步。以不同的方式显示文件夹可以使开发人员和用户都可以看到该区别,而32位的“程序文件(x86)”实在是太奇怪了。


2

正如您在问题中所写,这些文件夹是32位和64位应用程序的专有默认安装目录。

一个有趣的混合设置是SQL Server 2005:如果安装64位版本,则主SQL引擎文件将被复制到Program Files文件夹下,仅32位的工具将安装在“ Program Files(x86)”中”


是的,几个月前,这个给我们带来了麻烦。一个SQL 2005修补程序吃了主数据库,使实例无法启动。MS建议罪魁祸首是32位客户端组件。
squillman

1

您提到了原因:区分32位程序文件和64位程序文件。当您在64位Windows安装上运行32位程序时,Windows将从该程序对%ProgramFiles%[英语版本的C:\ Program Files]的文件夹请求重定向到x86替代文件[C:\ Program Files( x86)]。由于这种静默重定向,因此64位和32位程序可以共存而不会互相干扰。(例如,64位Windows包括Internet Explorer的64位和32位版本。)Windows还对其自己的文件和注册表项执行类似的重定向。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.