Невозможно получить доступ к переменной среды HEY_CURRENT_USER в службе Rest, запущенной через службу Windows - PullRequest
0 голосов
/ 19 июня 2020

Process restService = Process.Start("F:\\RestService\\RestService.exe"); Код простой. Я создал службу windows (C#) под локальной системной учетной записью. Мне нужно запустить через него сервис Rest (C ++). Эта остальная служба использует переменную среды FMS_HOME для F CC из раздела HKEY_CURRENT_USER. Когда я запускаю автономную службу отдыха, она работает нормально. Но когда я запускаю службу отдыха через службу windows, FMS_HOME не обнаруживается. Как это решить?

1 Ответ

4 голосов
/ 19 июня 2020

HKEY_CURRENT_USER, как следует из названия, - это ключ, в котором хранятся данные для текущего пользователя. Я предполагаю, что вы используете интегрированную учетную запись для запуска своей службы, что-то вроде «Сетевая служба», поэтому вы не увидите ключ, потому что учетная запись не та, которая создала запись.

Чтобы решить эту проблему у вас есть два варианта: сохранить ключи в HKEY_LOCAL_MACHINE или запустить службу с той же учетной записью, которая создавала записи в реестре (я бы не рекомендовал это, поскольку это может создать проблемы с безопасностью).

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