Когда и почему вы должны хранить данные в реестре Windows? - PullRequest
124 голосов
/ 06 ноября 2008

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

Когда я пишу свои собственные приложения, что - если что-нибудь - я должен выбрать для размещения в реестре, а не в старомодных конфигурационных файлах, и почему?

Ответы [ 14 ]

0 голосов
/ 29 декабря 2008

В .NET действительно нет необходимости.

Вот 2 примера, которые показывают, как использовать свойства Project для этого.

Эти примеры делают это с помощью свойств проекта пользователя Windows, но то же самое может / может быть сделано и приложением.

Подробнее здесь:

http://code.msdn.microsoft.com/TheNotifyIconExample

http://code.msdn.microsoft.com/SEHE

0 голосов
/ 06 ноября 2008

Лично я использовал реестр для хранения путей установки для использования (не) сценариями установки. Я не уверен, что это единственно возможный вариант, но мне показалось, что это разумное решение. Это было для приложения, которое использовалось исключительно в Windows, конечно.

0 голосов
/ 06 ноября 2008

Я считаю, что реестр Windows был хорошей идеей, но из-за большого злоупотребления со стороны разработчиков приложений и стандартных политик, не поощренных / не предписанных Microsoft, превратился в неуправляемого зверя. Я ненавижу использовать его по причинам, которые вы упомянули, однако есть некоторые случаи, когда имеет смысл использовать его:

  • Оставление следа вашего приложения после его удаления (например, запомните пользовательские настройки в случае повторной установки приложения)
  • Обмен настройками конфигурации между различными приложениями - компоненты
0 голосов
/ 06 ноября 2008

Обычно, если вы не вносите настройки в реестр, вы в основном используете его для получения текущих настроек Windows, изменения сопоставлений файлов и т. Д.
Теперь, если вам нужно определить, установлено ли уже ваше программное обеспечение, вы можете внести минимальную запись в реестр, это место вы можете найти в любой конфигурации. Или найдите папку с указанным именем в Application Data.

Если я посмотрю на папку «Мои документы» и «Настройки», то увижу множество программ, использующих точечные обозначения Unix для настройки папок: .p4qt .sqlworkbench .squirrel-SQL .SunDownloadManager .xngr .antexplorer .ассистент .CodeBlocks .dbvis .gimp-2.4 .jdictionary .jindent .jogl_ext (и т. д.)

и в Application Data - различные папки с именами редакторов или программ. Похоже, что это актуальная тенденция, по крайней мере, среди портативных приложений ...
WinMerge использует немного другой подход, сохраняя данные в реестре, но предлагая параметры импорта и экспорта в диалоговом окне конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...