C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92591 / 親階層)  レジストリ書込・参照時の「WOW6432Node」について
□投稿者/ 鯖江ミナ (1回)-(2019/10/09(Wed) 11:23:45)

分類:[VB.NET/VB2005 以降] 

VB(VB2013, 2017)でWindowsアプリを開発していますが、
最近になって疑問に思ったことがあります。
インストーラーを作成してアプリをインストールする際に
インストーラー側でレジストリ書き込みする場合、
例えば「HKEY_LOCAL_MACHINE\SOFTWARE\(ソフト名)」キーを作成して書き込みを行う場合、
32ビットアプリ(x86でビルド)の場合だと
「HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\(ソフト名)」のように、
「WOW6432Node」キー配下にキーが作成されます。
キー参照の場合も、「HKEY_LOCAL_MACHINE\SOFTWARE\(ソフト名)」キーを参照しようとすると、
実際には「HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\(ソフト名)」キーが参照されます。

一方、例えばソフト実行時に
「HKEY_CURRENT_USER\Software\(ソフト名)」キーを作成して書き込みを行う場合、
32ビットアプリ(x86でビルド)の場合でも、レジストリのパスはそのままに
「HKEY_CURRENT_USER\Software\(ソフト名)」のキーが作成され、
「WOW6432Node」配下にはキーが作成されません。

これらは何らかのルールに則って処理がなされているのでしょうか?
(インストールの場合は特別に「WOW6432Node」が考慮される、とか)

また、例えば、ソフト(VB)側で、
「HKEY_CURRENT_USER\Software\(ソフト名)」キーがなかったら
「HKEY_CURRENT_USER\Software\WOW6432Node\(ソフト名)」キーを参照する
(あるいは逆)ようなことは簡単にできるのでしょうか?
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: レジストリ書込・参照時の「WOW6432Node」について /魔界の仮面弁士
→Re[1]: レジストリ書込・参照時の「WOW6432Node」について /とっちゃん
 
上記関連ツリー

レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 11:23) #92591 ←Now
Re[1]: レジストリ書込・参照時の「WOW6432Node」について / 魔界の仮面弁士 (19/10/09(Wed) 12:50) #92595
│└ Re[2]: レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 12:56) #92597 解決済み
Re[1]: レジストリ書込・参照時の「WOW6432Node」について / とっちゃん (19/10/09(Wed) 12:07) #92594
  └ Re[2]: レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 12:54) #92596 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信