Сохранение настроек приложения |реестр - PullRequest
2 голосов
/ 27 января 2011

Я использую HKLM \ Software \ etc \ etc для хранения своих основных настроек, которые по сути являются расположением моей программы и связанной с ней базы данных.

Проблема, с которой я столкнулся сейчас, заключается в том, что я создал службу Windows инужно прочитать эти места.Я не могу прочитать параметры реестра как LocalService или LocalSystem, что означает, что служба работает как HKLM \ Software \ etc \ etc, конечно, не существует для этих учетных записей пользователей.

Есть ли Hive реестра, которыйдоступны, чтобы сохранить эти данные и доступны для этих служб?

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

Ответы [ 2 ]

1 голос
/ 27 января 2011

У учетной записи LocalService есть доступ к HKCU\Software\...

См. http://msdn.microsoft.com/en-us/library/ms684188%28v=vs.85%29.aspx

0 голосов
/ 27 января 2011

Я знаю, что отвечаю на свой вопрос, но .............

Честно говоря, я не думаю, что это возможно. Прежде всего, учетная запись LocalService открывает свой собственный куст в кусте HKCU и поэтому не загружает настройки, не установленные для его собственного использования. Поскольку LocalService на самом деле не является учетной записью пользователя, я также сомневаюсь, что вы можете писать в ее улей.

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

Вероятно, возможен поиск в реестре, однако возможно, что две или более пользователей могут использовать вашу программу, и поэтому нет уверенности относительно того, какой из них.

Единственная константа, о которой я сейчас могу подумать, - это переменная среды% ALLUSERSPROFILE%, и, если кто-то не может предложить другую опцию, я напишу туда XML-файл в дополнение к реестру с нужными мне данными.

...