Простой вопрос о реестре CreateSubKey - PullRequest
4 голосов
/ 07 марта 2011

Почему это не работает? Я пытаюсь создать раздел реестра в [HKEY_LOCAL_MACHINE \ SOFTWARE \ MyService], но ничего не создано.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.Win32;

namespace RegistryKey
{
    class Program
    {
        static void Main(string[] args)
        {
            const string SUB_KEY_NAME = @"SOFTWARE\MyService";

            // Create a subkey named MyService under HKEY_LOCAL_MACHINE.
            Registry.LocalMachine.CreateSubKey(SUB_KEY_NAME);
        }
    }
}

Обновление: Не бери в голову. Я идиот. Я использовал редактор удаленного реестра для проверки реестра, полагая, что он будет отображаться так же, как и regedit. Это не так! Я вижу путь, используя regedit.

Ответы [ 2 ]

7 голосов
/ 07 марта 2011

У вас нет прав на запись в HKLM.Если вы хотите написать здесь, вам нужно:

  • запустить процесс как пользователь с повышенными правами или.
  • только попытаться выполнить запись в HKLM во время установки.
1 голос
/ 12 июня 2014

Попробуйте с этим кодом:

RegistryKey regkey = Registry.CurrentUser;
regkey = regkey.CreateSubKey(SUB_KEY_NAME); //this is the path then you create yours keys
regkey.SetValue("Install", "ok"); //name of key exp:(install) and then the value exp:(ok)
...