it-swarm-ja.com

「ProgramFiles(x86)」のデフォルトの場所を変更しても機能しません

レジストリを編集して、「ProgramFiles」と「ProgramFiles(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:\ ProgramFiles(x86)」にインストールしようとしますが、この場所を手動で変更する必要があります。 「E:\ ProgramFiles\32bits」(存在する)にインストールした後、アプリは正常に動作します。これらのアプリは、NVIDIAドライバー、VMware Workstation 12、VLC、Steam、無料ダウンロードマネージャー、パーティションウィザードです。

このレジストリの変更が機能しないのはなぜですか?それを修正するにはどうすればよいですか?

1
apagando_tudo

32ビットプログラムが レジストリの特定の部分 にアクセスする場合、それらは WOW64リダイレクト の対象となります。互換性の目的で、実際に存在するものとは異なるレジストリのビューを取得します。したがって、32ビットのインストーラープログラムは変更を認識しません。

このパスの値も変更する必要があります。

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion

次に、32ビットアプリケーションは選択した設定を表示して使用します。

6
Ben N