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

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

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

Re[1]: 64bitOSにおけるHKLMの書き込みについて


(過去ログ 110 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■65522 / inTopicNo.1)  64bitOSにおけるHKLMの書き込みについて
  
□投稿者/ ザザ (1回)-(2013/03/05(Tue) 16:52:35)

分類:[.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
引用返信 編集キー/
■65523 / inTopicNo.2)  Re[1]: 64bitOSにおけるHKLMの書き込みについて
□投稿者/ ザザ (2回)-(2013/03/05(Tue) 17:30:22)
自己解決しました。
RegCreateKeyEx のオプションパラメータが REG_OPTION_VOLATILE (揮発性)になっていました・・・
サンプルコピペしっぱなしは良くないですね;;
パラメータを確認する癖をつけます。
お騒がせしました。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -