Пока я запускаю приложение как администратор, все прекрасно работает.
Когда запускаюсь с ограниченной учетной записи (Windows XP), не получается ни создать, ни открыть ключ.
RegCreateKeyEx выдает код завершения 5.
А мне нужно, чтобы приложение писало и читало из реестра под любым пользователем.
Как быть, помогите
Re: Запись в реестр Windows - права ограниченной записи
От:
Аноним
Дата:
10.05.05 16:06
Оценка:
>А мне нужно, чтобы приложение писало и > читало из реестра под любым пользователем. >Как быть, помогите
Сменить ветку на CurrentUser — LocalMachine, AFAIK, доступно только админу.
Re[2]: Запись в реестр Windows - права ограниченной записи
Здравствуйте, Аноним, Вы писали:
>>А мне нужно, чтобы приложение писало и >> читало из реестра под любым пользователем. >>Как быть, помогите
А>Сменить ветку на CurrentUser — LocalMachine, AFAIK, доступно только админу.
Да, в CurrentUser записать получается. Но это не решает задачи, тк у каждого пользователя будет свое значение ключа.
Нужно чтобы независимо от пользователя (учетной записи) все действия записывались в один ключ.
Impersonate different users, как говорится.
Может попробовать через шеловскую функцию SHRegCreateUSKey ? Хотя че-то я сомневаюсь
Re[3]: Запись в реестр Windows - права ограниченной записи
V>Нужно чтобы независимо от пользователя (учетной записи) все действия записывались в один ключ. V>Impersonate different users, как говорится.
V>Может попробовать через шеловскую функцию SHRegCreateUSKey ? Хотя че-то я сомневаюсь
1) Можеш попробовать запускать программу от имени администратора (отображать окно авторизации админитсратора, далее CreateProcessAsUser)
2) Ище вариант написать малюсенький сервис, работающий под LocalSystem. Сервис будеш запускать вместе с ОС или вручную, а из приложений под залогинившимися пользователями устанавливать связь с сервисом и передавать ей данные для записи в реестр.
3) Писать в файл.
Все должно быть просто
Re[3]: Запись в реестр Windows - права ограниченной записи
> Но это не решает задачи, тк у каждого пользователя будет свое значение ключа. >
В этом-то и вся фишка!!!
> Нужно чтобы независимо от пользователя (учетной записи) все действия > записывались в один ключ. >
Тогда храни всё в файле или открывай ключ только на чтение — доступ на чтение на сколько я помню есть у всех!!!
> Хотя че-то я сомневаюсь >
Я тоже!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[4]: Запись в реестр Windows - права ограниченной записи
> 1) Можеш попробовать запускать программу от имени администратора > (отображать окно авторизации админитсратора, далее CreateProcessAsUser) >
Жуть!!!
> 2) Ище вариант написать малюсенький сервис, работающий под LocalSystem. > Сервис будеш запускать вместе с ОС или вручную, а из приложений под > залогинившимися пользователями устанавливать связь с сервисом и > передавать ей данные для записи в реестр. >
Ещё страшнее!!!
> 3) Писать в файл. >
Согласен!!!
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[4]: Запись в реестр Windows - права ограниченной записи
A>2) Ище вариант написать малюсенький сервис, работающий под LocalSystem. Сервис будеш запускать вместе с ОС или вручную, а из приложений под залогинившимися пользователями устанавливать связь с сервисом и передавать ей данные для записи в реестр.
А как же безопасность?
A>3) Писать в файл.
Наверное самое оптимальное решение в данном случае?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: Запись в реестр Windows - права ограниченной записи
Я подобную проблему решил, создав нужный ключ в процессе установки программы и поставив на него нужные разрешения.
Единственное но — установку должен производить админ.
С файлами история примерно та же — в винде попросту нет такой папки, в которой можно (не изменяя безопасность) создать доступный всем на запись файл (во всяких там Shared Documents все могут создавать файлы, но изменять "чужие" файлы нельзя). Была даже такая больная идея: каждый юзер имеет в "общей" папке свой файл, куда и записывает информацию, но читает ее из файла с наиболее поздней датой изменения. Но, из принципа "не плоди сущностей без необходимости" лучше таки разобраться с правами доступа.