Unable to register crystl32.ocx

21.1k views Asked by At

I keep getting the error message when I try to launch VB6 application on my Windows 7 system

Component 'crystl32.ocx' or one of its dependencies not correctly registered: a file is missing or invalid

I have tried a lot of options to register this like first copying crpe32.dll and implode.dll into System32 and syswow64 folders and then using regsvr32.exe to register but that gives me error message

The module 'crystl32.ocx' failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. THe specified module could not be found.

I can browse to C:\Windows\System32 and SysWow64 and see the files there.

Recently I did installation of Oracle 11g, un installation of Oracle 9g, played around with Environment variables too so is that causing the issue? Before that, same application was working fine without any error message.

3

There are 3 answers

0
StayOnTarget On

If this works on ANY OTHER machine, see if you can use Process Explorer or similar to see what dependencies are loaded when it works.

0
ALF On

try this one: make sure these files are found inside C:\WINDOWS\SYSWOW64 folder:

crystl32.ocx, crviewer.dll, implode.dll, crpe32.dll

then use the Regsvr32.exe WITHIN the C:\WINDOWS\SYSWOW64 folder and NOT THE ONE found on C:\WINDOWS\SYSTEM32 folder with this command:

regsvr32 c:\Windows\SysWow64\crystl32.ocx

0
titol On

If you are using ANY of external OCX controls, you need to move all associated files. For me and crystl32 there were a lot more in system32. How i found them?

  1. Go to system32
  2. Set details view for this folder
  3. Right click on column header (Any will work)
  4. Click More
  5. Find something on this list that could show you connection between your ocx and other required files*
  6. Copy all those files to system32
  7. Try register original one

*For me it was either Description or Company depends on OCX I wanted to register.