До создания Реестра Microsoft использовала обычные текстовые файлы для управления системой. В MS-DOS конфигурация системы контролировалась двумя следующими файлами:
• Config.sys содержал конфигурационную информацию, необходимую для функционирования MS-DOS. В основном, это были общие параметры оборудования, используемого различными приложениями, например работа верхней и нижней памяти.
• Autoexec.bat был пакетным файлом, служившим для выполнения процедур автозагрузки.
В большинстве своем, приложения MS-DOS самостоятельно регулировали все свои параметры и совместное с другими приложениями использование таких устройств, как принтер и звуковая карта. Параметры хранились в текстовых файлах, называемых файлами инициализации (.INI).
Поначалу Windows запускалась в виде приложения MS-DOS и предоставляла простой графический интерфейс для ввода команд DOS. Ситуация немного изменилась с выходом Windows 3.0. В этой версии Windows впервые была создана общесистемная база данных конфигурации, которой могли пользоваться все приложения, вместо того чтобы создавать собственные базы. В Windows 3.0 данная база состояла из четырех .INI-файлов, содержащих информацию о конфигурации, оборудовании, драйверах устройств и параметрах приложений. Эти .INI-файлы загружались после двух файлов конфигурации MS-DOS и имели следующие названия:
• Program.ini - содержал параметры Менеджера программ Windows (Windows Program Manager), обеспечивающего графический интерфейс пользователя (graphical user interface - GUI), для работы в Windows.
• Control.ini - содержал множество пользовательских настроек Windows, включая параметры рабочего стола, звука и принтера.
• Win.ini -этот файл содержал информацию о визуальном оформлении Windows и параметры установленных приложений.
• System.ini - содержал параметры конфигурации оборудования и определял, как Windows будет с ним взаимодействовать.
Теоретически все приложения должны были брать информацию о параметрах используемых ресурсов именно из этих четырех файлов. Все свои параметры приложения должны были хранить в файле win.ini. Кроме этого, приложениям разрешалось создавать свои собственные .INI-файлы для хранения специфических настроек. У этой системы был ряд недостатков. Так как .INI-файлы являются текстовыми, их легко редактировать. Пользователь с легкостью мог изменить параметры приложения, что иногда приводило к ошибкам в системе. Другой проблемой .INI-файлов было то, что их размер ограничивался 64 кб.
Windows 3.1 стала первой версией Windows, использовавшей Реестр (Registry) и решившей множество проблем, возникающих при использовании .INI-файлов. Главным стало то, что теперь вся конфигурационная информация системы хранилась в одном месте в легко читабельной иерархической базе данных. И все же некоторые проблемы остались неразрешенными. Файл Реестра Windows 3.1 был все еще ограничен 64 кб. Другой существенной проблемой являлась неспособность Реестра синхронизировать свое содержание с состоянием приложений, шрифтов, драйверов и других объектов системы. Возможно, поэтому большинство программистов им вообще не пользовались, продолжая полагаться на .INI-файлы.
С появлением Windows NT на свет появился совершенно новый Реестр. 64 кб ограничение было снято, и теперь Реестр мог занимать столько места, сколько ему было необходимо. Один файл был заменен несколькими, но при этом сохранилась единая иерархическая структура, объединяющая вместе все записи. Microsoft, в свою очередь, начала активно призывать программистов использовать Реестр вместо .INI-файлов.
С момента появления Windows NT Реестр практически не изменился. Конечно, Реестры Windows 95/98/Ме, Windows NT/2000 и ХР содержат различные записи, но их структура одинакова.