Одна из причин моей страшной неприязни к windows и gnome — существование «реестра». Читай — помойки недокументированных настроек, в которой свалены в одну кучу автоматические и ручные параметры, так что отслеживать изменения тут нет ни малейшего смысла. Просто второе по долбанутости решения, после хранения логов в системном каталоге.
На у как иначе обеспечить атомарность и транзакционность изменений?
Если хранить настройки в конфиг-файле, то для изменения одной строчки его нужно весь переписать. В момент между чтением старой версии и записью новой другое приложение может успеть внести изменения, и запись первым приложением их потеряет.
Претензия не к формату хранения, а к помойке внутри. Документации нет и не предусмотрено поля с описанием (как у гнома), переменные могут иметь неявные значения по умолчанию, машинно-меняемые данные хранятся вперемешку с пользовательскими и т.д.
Причём это не «злые разрабочики со стороны» её развели, а лично MS своими руками. У ядра сотни недокументированных параметров, а в KB часто просто указывается значение без описания что это.
Сравнить с линуксовой помойкой в /sys / /proc. — Documentation/filesystems/proc.txt.
… Кстати, возможно, у виндов тоже есть такой файл. В сырцах. А сырцы… — ну не повезло.
Подразумевается, что пользователь не лезет к недокументированным ключам реестра.
Реестр штатно меняется через групповые политики, где всё хорошо документировано и систематизировано, либо через API (Service Manager, например, может менять настройки служб).
Если программист прикладного софта заводит ветку для своих нужд, он уже сам там наводит порядок.
Ну тогда вопрос: если там надо что-то менять, какого хрена это (где менять) недокументированная помойка (и далее по тексту выше)? Давайте это просто назвовём архитектурной ошибкой и на этом закончим.
У MS довольно много подобных глупостей, часть из которых «нас не волнует», а часть — «волнует, но легаси не даёт возможности поменять».
Да, реестр — это просто ужасная штука, как и стандартный редактор =( А уж попытки запомнить путь к какому-то значению заранее обречены на провал. Поиск также не совсем вменяемый, если честно. Тут-то и понимаешь все преимущества консоли и текстовых конфигов...
В принципе, в реестре все более-менее структурировано. Нужно отконфигурировать системные службы — один раздел, параметры проводника — другой, параметры IE — третий. Ассоциации файловых расширений — также можно их параметры обнаружить в специальном разделе. Конечно, по началу кажется, что все там крайне хаотично разбросано и ничего невозможно найти, но, на самом деле, если поискать параметры — все будет под рукой. Местами, правда :)
Да и, если что, всегда можно на скриптах «допилить» требуемые параметры или настройки :)
Как добавить дополнительные поля в свойствах системы