HKLM ハイブの下にいくつかのレジストリ値を登録する必要がある C# で記述された .NET コンポーネントがあります。このコンポーネントは、適切なフレーバーの Windows を実行している x86 (32 ビット) と x64 (64 ビット) の両方のボックスにインストールされることを期待しています。64 ビット システムでは、コンポーネントが 32 ビットと 64 ビットの両方のホスティング プロセスで使用できることを確認したいと考えています。当分の間、Visual Studio の展開プロジェクトを使用することに固執しています。
私が望むのは、インストーラーが 64 ビット システムで実行されている場合にレジストリ エントリを下に置くことですHKLM/Software/Blablah
。これにより、64 ビット プロセスで実行している場合にコンポーネントがグローバル構成設定を見つけることができます。ただし、私のコンポーネントが同じマシン上で実行されている 32 ビット プロセスによってホストされている場合、同じキーであると考えられるものから読み取られますが、Wow64 は HKLM/Software/Wow6432Node/Blablah に変換されます。
次のように 64 ビット インストーラーを作成しても問題ありませんか。
- x64インストーラーとしてマークされています
HKLM/Software/Blablah
64ビットプロセスのためにエントリを書き込みますHKLM/Software/Wow6432Node/Blablah
同じマシン上の 32 ビット プロセスのために、これらのエントリの正確なコピーを書き込みます 。
インストーラーを x64 としてマークしたため、特に 32 ビット システム用に、HKLM/Software/Blablah
.