Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Ive installed a program ive built in Visual Basic and crystal reports and installed it ok on several computers running win98, NT, 2000 and no probs. I install it on another win98 machine and it tells me that a file from crystal reports Crystl32.ocx is not registered. I try and register it manually using regsvr32.exe crystl32.ocx from the command prompt in the system directory and it gives me an error message 'LoadLibrary("Crystl32.ocx") failed'. It will not register this file even manually. Ive double checked the filename and file and i have typed the filename correctly and the file exists. Ive even gotten another copy of that file incase it was corrupt and it still gave me that error.
Anyone know how to fix this?

No, but I have the same problem. It runs on some machines. I deducted that it may have something to do with the versions of VB. My app was upgraded from 5 to 6, but I still have to keep v5 loaded on my machine as it is a biggish app and I am not about to manually convert all the code. I have a feeling that this is causing the Crystal OCX problem. Please let me know if you find an elegant solution

Why won't the OCX register?
faq768-649The 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.DLLPlease 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"

Hi! I'm from Spain, so excuse my english.
I've done what Dragon says, but it's no run.
ERROR: "can't load control CRYSTL32.OCX. Posibilly your version has expired. Be sure to use control's version porposed by aplication."
¿suggestions?
Thanks.

Reply to Dragon:
Sometimes you only wish to register the component as this can be distributed without a licence with the application you develop. You would be walking on thin ice distributing the .exe file illegally to customers.

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |