rma*_*ess 1 windows-registry 64-bit 32-bit 32-vs-64-bit windows-8
我通过编辑注册表更改了“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"
Run Code Online (Sandbox Code Playgroud)
对于 64 位应用程序,它运行良好。
但是对于 32 位应用程序,此配置不起作用!所有应用程序都尝试安装在“C:\Program Files (x86)”中,我需要手动更改此位置。在“E:\ProgramFiles\32bits”(存在)中安装后,该应用程序运行良好。这些应用程序是:NVIDIA 驱动程序、VMware Workstation 12、VLC、Steam、免费下载管理器、分区向导。
为什么此注册表更改不起作用?我能做些什么来修复它?
当 32 位程序访问注册表的某些部分时,它们会受到WOW64 重定向的影响。出于兼容性目的,他们对注册表的看法与实际情况不同。因此,32 位安装程序看不到您的更改。
您还需要更改此路径中的值:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion
Run Code Online (Sandbox Code Playgroud)
然后 32 位应用程序将看到并使用您选择的设置。
| 归档时间: |
|
| 查看次数: |
1067 次 |
| 最近记录: |