Client Responsibilities

Now that we know and understand how COM, given a CLSID, talks to a server to create an object, we can look at how a client tells COM to do it all in the first place. There are two topics of relevance here:

In addition to these two capabilities, a client can be written to also support self-registering servers. This generally means little more than supplying an end-user interface through which an end user can select one or more files and ask the client to register or unregister them. The client, in turn, attempts to load any DLL in the list to call DllRegisterServer or DllUnregisterServer (using GetProcAddress to get the address of the function) and attempts to launch any EXE with -RegServer or -UnregServer. The client could check the version resource to save time if it wants, but that's about all there is to self-registration.