Posted on 1998-05-28
This is Vasudevan S from San Jose, CA working on a Version
Control System project in VB5.0(Professional Edt).
I got a critical problem during my development.
The problem is "How do I check whether a ActiveX DLL/OCX has been
registered in the system registry?"
I followed some techniques which I believe is not concrete for all types of ActiveX components.
The techniques that I followed is
I did a Enum of all InprocServer32 entries in HKEY_CLASSES_ROOT
key to get the path since any ActiveX DLL/OCX has a InprocServer32
key. Is this always true?
I found to my dismay that MSVBVM50.DLL (although its a ActiveX DLL)
when registered with regsvr32.exe tool does not write any entries
in InprocServer32 key. Instead it writes in HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\<some typelib entry>\5.0\0\win32. This entry has a fully qualified path.
My requirement is my clients will select any file at runtime using
Common Dialog OCX and for each file I need to check whether it has
been registered properly. If not I will ask him to register.
I have checked whether any DLL/OCX is a ActiveX component by
checking for the DllRegisterServer entry point using GetProcAddress
SDK call. I couldn't proceed any further as I'm struck here.
I would very much appreciate if you would help me with any best