Registry.CurrentUser.OpenSubKey ничего не возвращает при вызове из службы - PullRequest
0 голосов
/ 25 октября 2010

В приложении VB.NET, которое работает как служба, при использовании Registry.CurrentUser.OpenSubKey () я получаю значение «Ничего».Тот же код выполняется правильно, когда приложение работает в режиме рабочего стола.Я не очень на VB.NET и, к сожалению, это не мой код.

Код:

Dim regURL As String = "Software\MyCompany\" + _
                  System.Reflection.Assembly.GetCallingAssembly.GetName.Name + _
                  "\Settings"

regKey = My.Computer.Registry.CurrentUser.OpenSubKey(regURL, True)

regKey - Nothing при использовании службой.Desktop возвращает действительный объект ключа реестра, который, как мне кажется, проверяет URL.Любые идеи я использую CurrentUser, потому что этот код не работает с LocalMachine при работе на Windows Server 2008.

Заранее спасибо,

Крейг

1 Ответ

1 голос
/ 25 октября 2010

Для того, чтобы этот тест был действительным, вы должны убедиться, что ваш сервис настроен во время установки для запуска под той же учетной записью, которую вы использовали для тестирования на рабочем столе. Они одинаковы?

Если нет, то значения реестра будут другими, поскольку CurrentUser является псевдонимом для информации о пользователе, а не для каждого пользователя.

Если они не совпадают, вы сможете выполнить повторную проверку, изменив настройки службы с помощью AdminstrativeTools -> Службы - щелкните правой кнопкой мыши службу и выберите «Свойства», затем измените учетную запись службы через вкладку «Вход в систему».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...