A good approach can be of first thinking of a way to register components.
Not aware of any patterns for it .
some idea's do come to my mind:
Use a file which will be the register/log for all installed components.
when the application initializes/restarts/starts it should read the file .
File can have parameters like : name of component,parent window etc with some low/high level details.
anyways this place is full of experienced people who can guide us.
another approach : here
[ May 24, 2008: Message edited by: sanjay kumar ]