Изменение расположения по умолчанию "Program Files (x86)" не работает
Я изменил расположение по умолчанию "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 Driver, VMware Workstation 12, VLC, Steam, менеджер бесплатных загрузок, мастер разделов.
Почему это изменение реестра не работает? Что я могу сделать, чтобы это исправить?
1 ответ
Когда 32-битные программы получают доступ к определенным частям Реестра, они подвергаются перенаправлению WOW64. В целях совместимости они получают другое представление о реестре, чем то, что на самом деле там. Поэтому 32-разрядные программы установки не видят ваши изменения.
Вам также необходимо изменить значения в этом пути:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion
Тогда 32-битные приложения увидят и будут использовать выбранные вами настройки.