LOCAL_MACHINEのレジストリキーに書き込もうとするWindowsサービスがあります
キーは、Windowsサービスとスタンドアロンのコントロールウィンドウを制御するWindowsインストーラーパッケージの一部として作成されます。
コントロールウィンドウはレジストリキーを読み書きできますが、ローカルサービスに完全なアクセス許可を与えても、レジストリキーに書き込むことができません。
これは例外をスローするコードです:
private void updateLocalRegistryVersion(Double newVersion)
{
RegistryKey rk = Registry.LocalMachine;
RegistryKey sk = rk.OpenSubKey(@"Software\CompanyName\Monitoring\Values");
sk.SetValue("scriptversion", newVersion.ToString());
}
助言がありますか?
RegistryKey.OpenSubKey(string)
は、書き込み用のキーを開きません。 OpenSubKey(string, bool)
オーバーロードを使用して、キーを書き込み可能にすることを指定してください。