旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【C#】 レジストリへの書き込み処理でUnauthorizedAccessExceptionが発生する

レジストリにSetValueメソッドで書き込みを行おうとするとレジストリ自体は書き込み可能な設定なのにUnauthorizedAccessExceptionが発生しました。原因は以下の記事にあるように、レジストリを開く時に書き込み可能という事を明示しないといけなかったようです。

stackoverflow.com

using Microsoft.Win32;

// こうじゃなくて
//var registry = Registry.LocalMachine.OpenSubKey(name);
// こうしないとレジストリに書き込みできない
var registry = Registry.LocalMachine.OpenSubKey(name, true);

ちなみにC#レジストリを触る方法は以下にあります。
レジストリへの書き込み、読み込み、削除を行う: .NET Tips: C#, VB.NET