【トラブル】【.NET】レジストリ・ファイル書き込み時に例外「UnauthorizedAccessException」が発生する

■現象

 レジストリ書き込み時(下記の関連記事を参照のこと)に、例外「UnauthorizedAccessException」が発生する

 例外:UnauthorizedAccessException
 メッセージ:レジストリーキー 'HKEY_LOCAL_MACHINE\SOFTWARE\...' へのアクセスが拒否されました

■ 原因

 * 使用しているユーザが、レジストリキーにアクセスする権限を持っていない

■ 解決策

手順

1) [スタート]-[ファイル名を指定して実行]を選択し、「regedit」を入力し、「OK」ボタン押下
2) 対象のレジストリーキーまで行き、そのキーに対して、右クリックし、[アクセス許可]を選択
3) 対象のユーザに対して、フルコントロールの許可にチェックを入れ、「OK」ボタン押下

参考文献

http://msdn.microsoft.com/ja-jp/library/18b8kx07.aspx
より抜粋

レジストリ キーにアクセスしようとしている場合は、これが読み取り専用ではないことを確認します。

 ⇒ 恐らく、確認するとフルコントロールにチェックがされていないと思われる


■現象2

 Traceで、ファイル書き込んだ時に、例外「UnauthorizedAccessException」が発生する

 ログファイル 'C:\XXXX.log' にトレースの出力を書き込み中に例外が発生しました。
  System.UnauthorizedAccessException: パス 'C:\XXXX.log' へのアクセスが拒否されました

解決策

 * 管理者権限で実行させるようにする
 (例えば、VSでデバッグしていた場合、VSを右クリックし、「管理者権限で実行する」を選択する)