How to Register / UnRegister ActiveX Components through Code

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

This code sample shows how to Register and Unregister ActiveX Components directly through VB Code – useful if you write your own Setup/Installation routines for projects.


The project contains a BAS module with a function RegisterComponent – heres the header text that explains exactly how it works :


public Function RegisterComponent(byval FileName$, _
byval RegFunction as REGISTER_FUNCTIONS) as STATUS

'************************************************************
'Author: Vasudevan S
'Helena, MT
'Function: RegisterComponent
'Purpose: Registers/Unregisters any ActiveX DLL/EXE/OCX
'component
         'Entry Points in ActiveX DLL/EXE/OCX are DllRegisterServer
         'and DllUnRegisterServer
'input: FileName:       Any valid file with complete path
        'RegFunction:   Enumerated Type(DllRegisterServer,
        'DllUnregisterServer)
'Returns: Returns the status of the call in a enumerated type
'Comments: The utility REGSVR32.EXE need not be used to
'register/unregister ActiveXcomponents.
           'This code can be embedded inside any application
           ' that needs to register/unregister any ActiveX
           'component from within the code base
'SAMPLE FORM is INCLUDED
'WORKS IN VB5.0/6.0

'HOW to CALL:
'-----------
'Dim mEnum as STATUS
'
'to REGISTER A COMPONENT USE
'mEnum = RegisterComponent("C:\windows\system\filename.dll",
'DllRegisterServer) 'to Register
'
'If mEnum = [File Could Not Be Loaded Into Memory Space] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [Not A Valid ActiveX Component] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [ActiveX Component Registration Failed] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [ActiveX Component Registered Successfully] _
'then
'   MsgBox "Your Message Here", vbExclamation
'End If
'
'to UNREGISTER A COMPONENT USE
'mEnum = RegisterComponent("C:\windows\system\filename.dll", _
'DllUnRegisterServer) 'to UnRegister
'
'If mEnum = [File Could Not Be Loaded Into Memory Space] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [Not A Valid ActiveX Component] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [ActiveX Component Registration Failed] then
'   MsgBox "Your Message Here", vbExclamation
'ElseIf mEnum = [ActiveX Component UnRegistered Successfully] _
'then
'   MsgBox "Your Message Here", vbExclamation
'End If
'************************************************************


Download Zipped Project File (3k)

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read