Изменение расположения по умолчанию «Program Files (x86)» не работает

657
apagando_tudo

Я изменил расположение по умолчанию «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
Что вы подразумеваете под "это не работает"? Вы имеете в виду, что установленные вами программы не работают или когда вы устанавливаете программу, она все еще предлагает установить ее в исходное место или что-то еще? music2myear 7 лет назад 0
извини, я уточнил вопрос. «... Все приложения пытаются установить в« c: \ Program Files (x86) », и мне нужно изменить это местоположение вручную ...» apagando_tudo 7 лет назад 0

1 ответ на вопрос

6
Ben N

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion 

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