Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Why won't the OCX register?

OCX and depedencies

Why won't the OCX register?

by  emcevoy  Posted    (Edited  )
The most common reason the Cryst32.ocx will not register is that it is missing one or more dependencies. To register the crystl32.ocx make sure the following dependencies are present on your machine, then the OCX will register.

crystl32.ocx Dependencies
ADVAPI32.DLL
COMCTL32.DLL
COMDLG32.DLL
CRPE32.DLL
GDI32.DLL
IMPLODE.DLL
MFC42.DLL
MSVCRT.DLL
MSVCRT20.DLL
OLE32.DLL
OLEAUT32.DLL
OLEDLG.DLL
OLEPRO32.DLL
USER32.DLL
VERSION.DLL

Please note: while all of these files need to be present in order to successfully register the OCX, some files are system files and should not be distributed.

Another item to check is that the version number of each dll on the client matches what is on your development machine (or at least matches what is on another client machine where the app does work). I recommend using EXTREME CAUTION when moving dlls between a machine with one OS to another with a different one. Regardless of the machines' OS, if you choose to copy dlls, please make sure to back up the old ones in case something goes awry.

Please note that although the crystl32.ocx file can reside anywhere on your machine (as it is a registered file), its dependencies must reside in the system path.

Finally, I would suggest downloading the Dependendency Walker utility from the following link to help troubleshoot your issue:

http://community.seagatesoftware.com/communityCS/FilesAndUpdates/depends20.zip

You can point this utility to Crystl32.ocx on the client machine to determine which of its dependencies the OCX is having issues with. Working files show up in green or cyan, while non-working files show up in yellow, orange, or red. I am sure that you will find this utility extremely helpful.

To manually register the OCX after you have ensured that all the dependencies are present, you will need to select Start | Run and type in something like this:

regsvr32.exe "C:\Windows\System\crystl32.ocx"
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top