What API to use to Register an ocx?

Posted on 1998-07-22
Last Modified: 2010-05-03
I am developing an VB5 application to deploy on a LAN.  We have been in the VB3 world - until now.  I want the app to register appropriate .ocx files on local users' machines without their having to run a "setup" program.  I assume this can be handled with an API call within my application.  If so, which one(s)?  
Further, is there a way to determine if the user has already done this registry work and can skip the process on subsequent runs of the program?   Another API call?
Question by:nelchr
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 1466432
Hi nelchr,
If an ActiveX component is an in-process component, then you must use a utility such as Regsvr32.exe to register it.

I hope this helps.


Jason Gorman (
Learning Advisor,
Microsoft Authorized Technical Education Center
Novell Authorized Online Training Provider

Author Comment

ID: 1466433
OK ... kind of.  
I am not clear about the registry of components on end user systems.  My application runs fine on my computer.  When I put my application (SA1) on a shared drive for other people they can't run it (but mine still does).  I don't want to have everyone run an "install" program every time we put another app or upgrade out.  I am looking for automating the component registration process if it must be done... OR ... is it possible to move .ocx components, register them, and reference them from a shared drive during application development?  

Or do I make yet another shared application (sa2) that monitors the local system for existence of necessary components.  E.g. I run SA1. It shells out to SA2 to make sure SA1's components exist on the local system and, if not, registers them.

I feel I am not seeing the big picture clearly.


Expert Comment

ID: 1466434
First you have to know what dll are needed by your ocx, then use regsvr32.exe to register.
If you need to know more, I am afraid the question is worth more than 50 points.
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

LVL 14

Expert Comment

ID: 1466435
You have to install all the DLL needed by VB5 on each computer.
Once you have done that, you can install the program written in VB 5 on your lan, and each workstation could run it.

To create installation disks, there is the "Wise" application.
This program inspect your application and create add in one file all the needed file and register all the OCX, OLE 2 server...


Expert Comment

ID: 1466436
You could call the DllRegisterServer() function of each .OCX needed instead of run regsvr32.exe program.

Use the Declare statement for each OCX which are in fact DLL.

Author Comment

ID: 1466437
Your comment is more what I am after here.  
Thanks for the help.  I think you need to respond again with an answer to get points.


Accepted Solution

chabaud earned 50 total points
ID: 1466438
You could call the DllRegisterServer() function of each .OCX needed instead of run regsvr32.exe program.

Use the Declare statement for each OCX which are in fact DLL.

Author Comment

ID: 1466439

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In a recent article ( for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question