1

Я изменил расположение по умолчанию "Program Files" и «Program Files (x86)», отредактировав реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProgramFilesDir"="E:\\ProgramFiles\\64bits"
"CommonFilesDir"="E:\\CommonFiles\\64bits"
"ProgramFilesDir (x86)"="E:\\ProgramFiles\\32bits"
"CommonFilesDir (x86)"="E:\\CommonFiles\\32bits"
"CommonW6432Dir"="E:\\CommonFiles\\64bits"
"ProgramW6432Dir"="E:\\ProgramFiles\\64bits"

Для 64-битных приложений это работает нормально.

Но для 32-битных приложений эта конфигурация не работает! Все приложения пытаются установить в «C:\Program Files (x86)», и мне нужно изменить это местоположение вручную. После установки в "E:\ProgramFiles\32bits" (которая существует), приложение работает нормально. Эти приложения: драйвер NVIDIA, VMware Workstation 12, VLC, Steam, менеджер бесплатных загрузок, мастер разделов.

Почему это изменение реестра не работает? Что я могу сделать, чтобы это исправить?

1 ответ1

6

Когда 32-разрядные программы получают доступ к определенным частям Реестра, они подвергаются перенаправлению WOW64. В целях совместимости они получают другое представление о реестре, чем то, что на самом деле там. Поэтому 32-разрядные программы установки не видят ваши изменения.

Вам также необходимо изменить значения в этом пути:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion

Тогда 32-битные приложения увидят и будут использовать выбранные вами настройки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .