更改“Program Files (x86)”的默认位置不起作用

更改“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、Free Download Manager、Partition Wizard。

为什么此注册表更改不起作用?我该怎么做才能修复它?

答案1

当 32 位程序访问登记处的某些部分,他们须遵守WOW64 重定向。出于兼容性目的,它们看到的注册表视图与实际的注册表视图不同。因此,32 位安装程序看不到您的更改。

您还需要更改此路径中的值:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion

然后 32 位应用程序将看到并使用您选择的设置。

相关内容