14

いくつかのレジストリ キーを作成する Visual Studio インストーラーがあります。

HKEY_LOCAL_MACHINE\SOFTWARE\MyApp

ただし、作成中のレジストリ キーは Wow6432Node の下に自動的に表示されます。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyApp

msi によって実行される C# コードでレジストリ キーを作成するときに、Wow6432Node を無視するにはどうすればよいですか?

4

3 に答える 3

23

参考までに、.NET 4.0 はこれをネイティブにサポートしています。例:

RegistryBase = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);

その後、そのRegistryBase変数を使用して、HKLM の 64 ビット ビュー内のあらゆるものにアクセスできます。逆に、Registry32は、64 ビット アプリケーションがレジストリの 32 ビット ビューにアクセスできるようにします。

于 2010-05-28T21:18:42.187 に答える
1

http://www.pinvoke.net/default.aspx/advapi32/regopenkeyex.htmlをご覧ください。レジストリ リダイレクタを使用して、アクセス マスクの適切な値を渡す必要があります。残念ながら、pInvoke が必要です。

于 2010-02-04T03:28:21.577 に答える