1.2.4 The System Registration Database

OLE server applications must register themselves and the services they provide in the registration database. The registration database allows server applications to make information about the objects they create available to OLE client applications. It also allows the OLE DLLs to find the server application when the user double clicks an object previously embedded or linked in a container document. For example, a graphical drawing program can register itself in the registration database (using a unique class name) as a server application that creates drawing objects. When the user of a word processor application wants to insert a graphical drawing object, the drawing application can be automatically started for creation of the object.

Registering a server application is typically done during installation, or possibly when the application is started for the first time. The registration database is maintained in a file created by SHELL.DLL. Each time a server application starts up, it checks the database to ensure that its registration is still valid. If registration is ever lost, the server application must reregister itself, otherwise its services will not be known by other applications, and it cannot be used by the OLE DLLs.

Note For more information on registering OLE server applications, see Chapter 10, "Using the Registration Database."