Наивный вопрос про Виндуза и регистри

User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

Hamster wrote:
Strannik223 wrote:Таких "а почему" можно задавать много и все они называються "архитектурная ошибка"
Меня просто до бешенства доводит невозможность скопировать цветовые настройки в VisualStudio. Лезешь в регистри, а там Guid-ы в цветах

Можно просто экспортировать ключ "Format". И где там Guid-ы?


А я Format не нашел
Студия 2003.
local_mashine/software/microsoft/VisualStudio/FontAndColors/TextEditor/Category:
{A27B4E24-A735-4d1d-B8E7-9716E1E3D8E0}
То есть ссылка куда-то

Мне просто есть с чем сравнивать
На Юниксе по человечески почему-то все сделано. Копируешь текстовый файл с конфигурацией вот тебе и backup, или переносишь свою home directory на другую машину с таким же установленым софтом и у тебя весь твой desctop со всеми настройками. Хочеться понять каким местом проектировалось это хозяйство на Винде что без танцов с бубнами и нехилым везением настройки забекапить или перенести нельзя
Никакой разрухи нет. (с) Проф. Преображенский.
User avatar
roadman
Уже с Приветом
Posts: 707
Joined: 12 Mar 2003 22:29
Location: Moscow->Bay Area, CA

Re: Наивный вопрос про Виндуза и регистри

Post by roadman »

deim wrote:Никогда не мог понять - почему и зачем в виндузах придумано и сделано централизованное хранилище сеттингов всех установленных программ/систем - регистри?! Какой в этом философский смысл?!

Неужели не проще хранить все сеттинги программы - локально, в пространстве этой программы? В OS/2 например все засовывали в расширенные атрибуты файловой системы. Милое дело - установленная программа легко копировалась/переносилась/бэкапилась.

А в этих идиотских виндузах все завязано на центральные регистри. Мало того, что ни перенести программу, ни забэкапить ее по человечески, так еще это регистри всяким дерьмом постоянно забивается...

Зачем?!

P.S. Эх, все-таки ИБМ - сволочи! Такую классную операционку (OS/2) загубили :-(


Регистр выполняет ряд функций, которые трудно реализовать на базе ini файлов. Например, вся технология COM/DCOM интегрироованна с регистри, посколько не отдельная программа, а сама операционная система должна знать, где находится тот или иной COM сервер (DLL, EXE). Я так понимаю, что изначально регистр задумывалась для "внутреннего" использования. Но потом регистри API открыли и для "простых" смертных. Однако никто не мешает использовать INI файлы каждой отдельной программой для своих нужд.
Следующий пример - это безопасность (пароли там разные) и опять же это для ОС, хотя и пользовательская программа может положить в регистр зашифрованные данные.

Список драйверов, которые должны быть загружены в момент старта ОС. Хорошо если есть одно место, а не сотни, где эта информация целиком доступна.

Список можно продолжать...
The philosophy of one century is the common sense of the next. --Henry Ward Beecher
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Re: Наивный вопрос про Виндуза и регистри

Post by Strannik223 »

roadman wrote:Регистр выполняет ряд функций, которые трудно реализовать на базе ini файлов. Например, вся технология COM/DCOM интегрироованна с регистри, посколько не отдельная программа, а сама операционная система должна знать, где находится тот или иной COM сервер (DLL, EXE). Я так понимаю, что изначально регистр задумывалась для "внутреннего" использования. Но потом регистри API открыли и для "простых" смертных. Однако никто не мешает использовать INI файлы каждой отдельной программой для своих нужд.
Следующий пример - это безопасность (пароли там разные) и опять же это для ОС, хотя и пользовательская программа может положить в регистр зашифрованные данные.

Список драйверов, которые должны быть загружены в момент старта ОС. Хорошо если есть одно место, а не сотни, где эта информация целиком доступна.

Список можно продолжать...




С точки зрения осведомленности ОС о зарегистроированых комонентах абсолютно все равно то ли регистрационны файл будет registry.ini or registry.dat

Никто не мешает конечно использовать ini-style, но насколько я помню это нерекомендованый способ и МС его в своих продуктах не использует

Безопасность это как раз плохой пример. Права доступа на ветки регистри были приделаны намного позже чем появилось само понятие пользователей в Вин. Более того это пример того как нерационально сдублированы усилия. Были бы настройки в файлах, можно было бы просто права доступа на файлы дать, а так у файловой системы своя песня с правами доступа а у регистри своя. Имеем 2 системы каждая из который реализует разграничение доступа. С архитектурной точки зрения это явный ляп

Список драйверов: какие такие сотни мест где это инфа доступна: делается ОДИН файл с информацией необходимой ядру для загрузки и он текстовый. Мне на Юниксе достаточно любого тектового редактора что бы вырубить драйвер который шалит, и поверьте что формат там self-explained, а в винде? Зачем эту информацию о драйверах засовывать в тот же файл где лежит тысяч 200 других настроек других програм? А потом надо это дело защищать от этих самых других прграм и делать навороченую систему разграничения доступа специально для регистри. Типа создаем проблемы что бы мужественно преодолевать их

На самом деле регистри это иерархическая база данных, которая склонна к загрязнению мусором в процессе эксплуатации ОС
А базу данный понадобилось делать потому что возникли проблемы с производительностью когда все настройки в одну кучу свалили.
Никакой разрухи нет. (с) Проф. Преображенский.
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Post by Hamster »

Strannik223 wrote:А я Format не нашел
Студия 2003.
local_mashine/software/microsoft/VisualStudio/FontAndColors/TextEditor/Category:
{A27B4E24-A735-4d1d-B8E7-9716E1E3D8E0}
То есть ссылка куда-то


А, я думал, речь про старый ( 6.0 ).
Sheriff
Уже с Приветом
Posts: 660
Joined: 21 Dec 1999 10:01

Post by Sheriff »

Strannik223 wrote:А я Format не нашел
Студия 2003.
local_mashine/software/microsoft/VisualStudio/FontAndColors/TextEditor/Category:
{A27B4E24-A735-4d1d-B8E7-9716E1E3D8E0}
То есть ссылка куда-то


Сохранить настройки фонтов и цветов в Visual Studio .NET 2003 в файл:

regedit /ea Vc2003Colors.reg HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\FontAndColors

Восстановить настройки:

regedit -s Vc2003Colors.reg

Strannik223 wrote:Мне просто есть с чем сравнивать
На Юниксе по человечески почему-то все сделано. Копируешь текстовый файл с конфигурацией вот тебе и backup, или переносишь свою home directory на другую машину с таким же установленым софтом и у тебя весь твой desctop со всеми настройками.


На вкус и цвет... :)

Strannik223 wrote:Хочеться понять каким местом проектировалось это хозяйство на Винде что без танцов с бубнами и нехилым везением настройки забекапить или перенести нельзя


Везение тут не причем. Нужно знать как делать вещи.
Michael Popov
Уже с Приветом
Posts: 991
Joined: 09 Sep 2001 09:01
Location: The Earth

Post by Michael Popov »

Sheriff, куда пиво высылать ? :mrgreen: Достался я цвета и фонты выставлять на всех станциях, где работаю. Кстати, эти ключи VS 2000 и VS 2003 совместимы ?
Best regards,

Michael Popov
Sheriff
Уже с Приветом
Posts: 660
Joined: 21 Dec 1999 10:01

Post by Sheriff »

Michael Popov wrote:Sheriff, куда пиво высылать ? :mrgreen: Достался я цвета и фонты выставлять на всех станциях, где работаю. Кстати, эти ключи VS 2000 и VS 2003 совместимы ?


может все же VS.NET 2002 и VS.NET 2003?

Для этих версий ветки немного разные. Сейчас нет VS.NET 2002 под рукой, так что пишу навскидку:

regedit /ea Vc2002Colors.reg HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.0\FontAndColors

Попробуйте.
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

Вот ссылка на дискуссию двухлетней давности на тему реестр vs. ini: http://forum.privet.com/viewtopic.php?t ... 5%F1%F2%F0

Вот по пунктам, чем хорош реестр, для тех кому лень читать всю дискуссию:

ACL защита на уровне отдельного ключа; realtime уведомления об изменениях отдельного ключа; время последнего обновления отдельного ключа; сериализация доступа; транзакции - реестр очень сложно разрушить в смысле физической целостности; репликация реестра; удалённое управление через реестр; реестр позволяет осуществлять значительно более быстрые операции, чем .ini - если это нужно, то всё изменения немедленно могут быть доступны другим программам не дожидаясь, пока lazy write скинет "грязные" данные на диск; реестр - это упорядоченное дерево, поэтому, во-первых, в нём быстрее искать, во-вторых, быстрее писать - обновляется минимум необходимых байт - однако при записи 10-байтового ключа в мегабайтный текстовый .ini файл (если это только не append) нужно записать мегабайт; при чтении 10-байтового ключа из мегабайтного .ini файла в среднем нужно прочитать 1/2 мегабайт; реестр - двоичное, а не текстовое хранилище, поэтому он, во-первых, более компактен, во-вторых, лучше защищён от ошибок.
Cheers
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

Sheriff wrote:Сохранить настройки фонтов и цветов в Visual Studio .NET 2003 в файл:

regedit /ea Vc2003Colors.reg HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\FontAndColors

Восстановить настройки:

regedit -s Vc2003Colors.reg


Спасибо, а то мне на бумажке из дому палитру лень не позволяла :)
Только это все равно концептуально неправильно :)))))))
Никакой разрухи нет. (с) Проф. Преображенский.
VBez
Уже с Приветом
Posts: 491
Joined: 23 Feb 2004 11:25

Post by VBez »

Strannik223 wrote:Меня просто до бешенства доводит невозможность скопировать цветовые настройки в VisualStudio.


Новая будущая студия Whidbey спасет отца русской демократии :-)
Там много нового добавили. В частности и это.

PS.
Я в студии настроил нестандартные цвета.
Так вот - в ClassView поменять стандартный цвет не получилось.
Хотя у других людей все получается. Переставлять студию не хочу.
Вот такой вот глюк, блин.
User avatar
Strannik223
Уже с Приветом
Posts: 569
Joined: 14 Dec 2003 04:06
Location: Львов->Киев->Торонто

Post by Strannik223 »

VBez wrote:
Strannik223 wrote:Меня просто до бешенства доводит невозможность скопировать цветовые настройки в VisualStudio.


Новая будущая студия Whidbey спасет отца русской демократии :-)
Там много нового добавили. В частности и это.

PS.
Я в студии настроил нестандартные цвета.
Так вот - в ClassView поменять стандартный цвет не получилось.
Хотя у других людей все получается. Переставлять студию не хочу.
Вот такой вот глюк, блин.


Это у кого из студии получилось TreeView закастомить?
Насколько я понимаю в студии можно закастомить только то что студия сама рисует, а то что ты видел наверное настройка тем в самой винде
Никакой разрухи нет. (с) Проф. Преображенский.
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Post by Boriskin »

Palych wrote:V Mac OS X esche kruche. 8)
Tam Application copiruetsya kak obychnyj file.


Это и в более ранних версиях есть. Там в в каждом файле есть прибамбас под названием Resource Fork, аля "все свое ношу с собой".
Тупизна как Энтропия. Неумолимо растет.

Return to “Вопросы и новости IT”