как устроен реестр?
А чо, сразу записать в HKLM, а потом в HKCU не копировать, а сразу читать из HKLM нельзя?
не все клиенты (потребители проги) сидят под админом, а у не админов нет прав записи в HKLM.
а что, приложение после инсталляции должно что-то писать в реестр? правильный подход хранить такие настройки в папке Local Settings, насколько я знаю.
"Перенос данных в реестре из HKLM в HKCU
1. Для старых - пренос данных в куррент юзер копированием.
2. Для новых -дернуть HKLM на запись. Если да то предложить всем пользователям.
Если всем, то пишем шаблон в HKLM, копируем его в HKCU.
Если нет или не админ то писать HKCU.
А если бы выбран вдля всех пользователей то при запуске программа првоеряет наличе ветки в HKCU, и если ее нет, то лезет в HKLM ищет там и переписывает.
Обновление копирует данные в HKCU."
Сочувствую.
ритика
Способ хранения параметров и настроек операционной системы при помощи реестра Windows часто подвергается критике по следующим причинам:
* Реестр подвержен фрагментации, из-за чего доступ к реестру постепенно замедляется
* В связи с тем, что помимо настроек в реестре хранится различная информация системы и приложений ( например многие приложения хранят в реестре список недавно открытых файлов размер реестра значительно увеличивается по мере использования операционной системы. Эта проблема частично решается при помощи специальных утилит
* Не все настройки системы хранятся в реестре, соответственно перенос настроек системы путём копирования реестра невозможен
Критики приводят в пример UNIX-подобные операционные системы, где нет реестра, выполняемые им задачи решаются другими средствами
Это были рекомендации времен Windows 3.11 и Windows 95. После появления Windows 2000, Microsoft наконец-то прозрела и начала просить в реестр особо настройки не писать, а писать в Local Settings
как получить доступ к веткам других юзеров?HKEY_USERS
как узнать какая ветка какой юзер - не помню
как дела обстоят с новосозданными юзверями?HKEY_USERS\.DEFAULT
Здравствуйте, в Windows 3.x нет реестра в принципе, там использовались ini-файлы.
сорри, точно
Как вариант, можно написать сервис, работающий с реестром на правах, достаточных для чтения/записи нужных веток. И дергать его из-под бесправных юзеров. Но это правда начинает смахивать на дырку в безопасности.
Начинает смахивать на client side php
правда начинает смахивать на дырку в безопасности.Интересно про что ты?
Твой вопрос можно понять как "Безопасность? В Windows? О чём ты вообще?"
Критики приводят в пример UNIX-подобные операционные системы, где нет реестра, выполняемые им задачи решаются другими средствамиА зачем приводить их в пример, если решение задач кривее, чем в винде? Копирование папки /etc навернёт систему с вероятностью 0,75-0,8.
Про то, что юзер, не имеющий права изменять реестр, сможет-таки его изменить. Пусть и не сам напрямую.
Если ты не знаешь ничего про безопасность в винде, то это не значит, что ее нет, или что она херовая или глючная или что-нибудь в подобном роде
Я думал ты про то, что наше ПО навернёт систему, или ещё какое-нибудь вредоносное действие совершит.
и позволяет кое-чего посмотреть/подредактировать.
так что "реестр" там есть. правда он не древовидный.
поясни, речь про `cp -r /etc /tmp/` ?
Это были рекомендации времен Windows 3.11 и Windows 95. После появления Windows 2000, Microsoft наконец-то прозрела и начала просить в реестр особо настройки не писать, а писать в Local SettingsТы знаешь... Я не уверен, потому что до конца так и не расковырял, но: когда-то давно я попытался найти место, где эксплорер (локальный, который десктоп показывает) хранит положения иконок на оном десктопе. Потому что задолбало их перерасставлять после каждой загрузки в safe-mode (я тогда был молод и питал страсть к разнообразным бесчеловечным экспериментам, вроде запуска 2к3 на 64 метрах оперативки). Так вот, он хранит их в регистри, причём не отдельно и в явном виде, а у него там есть штуки четыре огромных блобов, в которых как-то лежит его текущее состояние. Так что советовать юзерам они могли что угодно, а сами вот так вот делали (и делают до сих пор, насколько я понимаю).
Оставить комментарий
kill-still
думал вот как сделать инсталляцию для всех пользователей, пока только придумал писать в HKLM, а потом копировать при загрузке проги в HKLU, но ведь делают как-то так, что ещё до загрузки она там появляется. как получить доступ к веткам других юзеров? как дела обстоят с новосозданными юзверями?