私は常にx86(XP)上で動作する.NET 3.5アプリケーションを持っています。私は今x64(Win7)で実行するためにこのプログラムが必要です。このアプリケーションのビルドは任意のCPUなので、x64で実行する必要があります。私のセットアッププロジェクト>レジストリエディタで、HKEY_LOCAL_MACHINE \ Software \ Company \ Product \ AppPathにAppPathというレジストリキーを作成します。私は私のセットアッププロジェクトのTargetPlatformを変更した場合、64ビットマシンで任意のCPUにアプリケーションをデプロイします。 HKLMレジストリを読む
は私のセットアッププロジェクトには、レジストリを行う理由X64するHKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432NODE \会社\製品\ APPPATH
私の最初の質問で、このキーをされてインストールされますキーがWow6432Nodeサブシステムに追加されますか?私が正しく理解するなら、x64はWow6432Nodeサブシステムではなくx64レジストリに鍵をインストールするべきです。明らかに、私はx64をターゲットにするために必要なすべてを行っていません。セットアッププロジェクトにx64のターゲットプラットフォームがあっても、32ビットのようにプログラムをインストールすると思いますか?
clientPbDir = Registry.LocalMachine.OpenSubKey("Software\\Company\\Product").GetValue("AppPath").ToString();
どのように私は、x86とx64の両方のために、この作業を行うことができます。
私の2番目の質問は、私は次のようにレジストリを読み取るコードがある場合はありますか?
この記事の種類は質問に答えます。
Reading the registry and Wow6432Node key
しかし、私はちょうど私がそれを避けることができれば、x86およびx64の両方でレジストリを読み取ることができるようにx86のように私のプロジェクトをコンパイルする必要はありませ好むだろう。私は、x64のパフォーマンスを最大限に生かしたいと考えています。