「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 ドライバー、VMware Workstation 12、VLC、Steam、Free Download Manager、Partition Wizard です。

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

答え1

32ビットプログラムがアクセスするとレジストリの特定の部分、彼らはWOW64 リダイレクト互換性を保つため、レジストリの実際の内容とは異なるビューが表示されます。そのため、32 ビットのインストーラー プログラムでは変更内容は表示されません。

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

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion

すると、32 ビット アプリケーションは選択した設定を認識して使用します。

関連情報