|
分類:[.NET 全般]
お世話になります。
現在、同一製品内の 32bitアプリと64bitアプリ混合で情報共有するため、レジストリのHKEY_LOCAL_MACHINE\Software\XXX 配下 (Wow6432Node配下ではありません) を使いたいと思っています。
インストーラ(InstallShield2010)のカスタムDLLは 32bitモードで動作する仕様であるため、 64bitOSで動作時は、.NETの Microsoft.Win32.Registry クラスではなく RegCreateKeyEx(KEY_WOW64_64KEYを指定), RegSetValueEx, RegCloseKey を使っています。
実験をしたところ、インストール処理直後はレジストリエディタで参照しても正しく書けた様に見えているのですが、 Windowsを再起動するとなぜか書き込み内容(HKEY_LOCAL_MACHINE\Software\XXX 配下)が綺麗さっぱり消えてしまいます。
カスタムDLLをコンソールアプリから直接呼び出して実行しても、同じ挙動をします。
この原因が何か推測できる方、教えていただければと思います。 宜しくお願いします。
環境: Windows7 x64, Visual Studio 2008, .NET Framework 3.5SP1
|