Я пытаюсь установить ключ реестра в моем коде C #, но он не работает все время. Иногда это работает, иногда нет. Я начинаю сходить с ума ...
В предыдущих проектах у меня не было проблем с записью и чтением в реестр, но я делаю сейчас.
Вот код, который я использую:
string newVersion = "10A";
RegistryKey key = null;
try
{
key = Registry.CurrentUser.CreateSubKey("Software\\stuff1\\stuff2 " + newVersion + "\\" + newVersion + "\\stuff3\\Settings", RegistryKeyPermissionCheck.ReadWriteSubTree);
key.SetValue("CopyConvertDone", "1", RegistryValueKind.String);
key.Flush();
rep.Message("CopyConvertDone registry key set for revision: " + newVersion);
}
catch (Exception e)
{
rep.Error(e);
}
finally
{
if (key != null)
{
key.Close();
}
else
{
rep.Error("Registry key is set to null.");
}
}
То, что я уже пробовал, но не сработало:
- Вместо использования CreateSubKey я попытался OpenSubKey с параметром записи, установленным в true.
- Добавлен метод .Flush ().
- Сделал Thread.Pause (2000), чтобы дать ему некоторое время перед развитием моей программы (которой нужен этот раздел реестра)
Я не получаю никакой ошибки, и подраздел уже существует, но значение (CopyConvertDone) нет.
Может кто-нибудь увидеть проблему в этом коде и есть возможное решение?