\ Program Files и \ Program Files (x86) в 64-разрядной версии Windows

11

Каковы причины иметь отдельные папки, кроме того, чтобы легко отличить 32-битные изображения от 64-битных изображений?

squillman
источник
Я был под впечатлением , что это была причина.
ceejayoz

Ответы:

16

Это не только для удобства чтения, есть много программных причин отделять 32-битные приложения от 64-битных. Рассмотрим папку «Common Files». Если у вас есть 32-разрядное приложение и 64-разрядное приложение, которое использует папку Common Files для файла с таким же именем, вы собираетесь подключить тот, который был установлен первым. Существуют также различия в том, как Windows представляет эти папки самим приложениям, хотя я недостаточно знаком с ними, чтобы хорошо их объяснить.

Наконец, это первый из многих шагов на пути к универсально родным 64-битным приложениям. Представление папок по-разному сохраняет различие видимым как для разработчиков, так и для пользователей, и 32-разрядный «Program Files (x86)» является странным человеком.

ш-бета
источник
2

Как вы написали в своем вопросе, эти папки являются отличительными каталогами по умолчанию для 32-битных и 64-битных приложений.

Интересной гибридной установкой является SQL Server 2005: если вы установите установку 64-битной версии, основные файлы движка SQL будут скопированы в папку Program Files, а инструменты, которые предназначены только для 32-битной версии, будут установлены в «Program Files (x86)». "

splattne
источник
Да, этот шланг нас несколько месяцев назад. Исправление SQL 2005 уничтожило основную базу данных, сделав экземпляр незапускаемым. MS предположил, что виновником были 32-битные клиентские компоненты.
squillman
1

Вы упомянули причину: отличать 32-битные программные файлы от 64-битных программных файлов. Когда вы запускаете 32-разрядную программу в 64-разрядной установке Windows, Windows перенаправляет запросы папок из этой программы для% ProgramFiles% [C: \ Program Files в англоязычной версии] в альтернативу x86 [C: \ Program Files ( x86)]. Из-за этого тихого перенаправления 64-битные и 32-битные программы могут сосуществовать, не мешая друг другу. (Например, 64-разрядная версия Windows включает как 64-разрядную, так и 32-разрядную версии Internet Explorer.) Windows также выполняет аналогичные перенаправления для своих файлов и разделов реестра.

Джей Мишо
источник