The Registry first appeared in Windows 3.1, in a file called Reg.dat and was mainly used to store information about OLE objects. At that time, several files, namely, Win.ini, System.ini, and other .ini files that were application-specific, carried out the bulk of what is handled by today's Registry.
System.ini maintained information and settings for the hardware (disk drives, memory, mice, and so on). Win.ini controlled the desktop and the applications that were installed. Changes to device drivers, fonts, system settings, and user preferences would all be recorded in the .ini files, and new applications added their information to the .ini files too.
This all worked pretty well until the number of applications grew and their complexity increased, because each installed application added a raft of information to the Registry to the point where it was obvious its 64kB file size limit would be reached. Additionally, everyone made additions to the .ini files, but no one ever deleted anything, even if the application was upgraded or uninstalled. So System.ini and Win.ini grew and grew, and as they grew, performance degraded.
To counter this problem, software vendors started supplying .ini files of their own, and instead of the Windows .ini files containing application-specific information and settings, they contained only pointers to the custom .ini files. This seemed like a good idea at the time; however, good ideas sometimes create problems of their own. ...