4
votes

I'm trying to edit some old source code from another developer on my windows 10 machine. This particular project requires the use of the VsFlex7 control (vsflex7L.ocx and vsflex7L.oca) which needs to be registered in Windows before I can use the control in vb6.

When I try to use it in vb6 I get the following error... enter image description here

So then I check the vb6 project file source and see this which shows the control I had issues with in the first place (VSFlexGrid) has a CLSID of Object={C0A63B80-4B21-11D3-BD95-D426EF2C7949}#1.0#0; vsflex7l.ocx... enter image description here

I also checked the form source as well to see the same thing... enter image description here

So then I dig in the registry and find this... enter image description here

So then I try to run command prompt (as admin) and do the following...

C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u
C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca

The problem is, when I try to do C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u regsvr32 runs about a million times at the speed of light and bogs down my PC to the point where I have to press the power button to reboot the PC. After running the command to try and unregister the oca my machine is useless. I can't even bother to kill tasks in task manager because so many copies are being ran at once, over and over again!!

Any ideas what I can do to get this control registered so I can fix this little tiny bug in the source I have?

Thanks!

UPDATE:

Thanks to comments to my original question, I have now noticed that I should more than likely be trying to track down CLSID 2C4CDB4E-6162-11D3-BD96-B76E8682527F in the registry. However, this one I can not find... Should I just add it? If so what dll or ocx should it point to?

1
Can you try that again on another machine?Siyon DP
Shouldn't the extension be .ocx instead of .oca?Bill Hileman
ocx files are registered, oca files are not - they are created automatically by VB. Why are you highlighting that registry entry? The clsid does not match the error message. The clsid in the error message appears, from a google search, to be associated with "VSPPG7 VideoSoft Property Pages". Open your vbp file and check that clsid for what program it is associated with, then try registering that ocx/dll.MarkL
Ahh what a goof! I grabbed the wrong SS... Give me a sec and let me update the question, sorry guys!Arvo Bowen
I've encountered similar situations and in my situations, I seem to recall deleting the .oca file and letting the system re-create it, but because I cannot be 100% certain that it would solve your problem or be automatically recreated, I suggest that you might try renaming the file (oca) instead.Bill Hileman

1 Answers

2
votes

OK thanks to all the comments in my question I ended up being lead to the correct solution! So that you to all that contributed, specifically MarkL!

Tracking down the two following dlls was the first step, it's important to note you need the correct version! I ended up downloading a Chinese version at first and it was showing all my controls in a different language. I ended up finding out these were needed from some research on the web on that CLSID that was pointed out to me. In this case it was all related to the VSFlexGrid control by VideoSoft.

  • Vsppg7.dll
  • vsStr7.ocx

I then went to the virustotal website and uploaded both to do my checking just to make sure they were spiffy clean and did not contain any viruses.

Next I ended up tossing them into my C:\Windows\SysWow64 folder (because they are all OLD x86 related files).

Finally I ended up running the four commands...

  • C:\Windows\SysWOW64>regsvr32 Vsppg7.dll /u
  • C:\Windows\SysWOW64>regsvr32 Vsppg7.dll
  • C:\Windows\SysWOW64>regsvr32 vsStr7.ocx /u
  • C:\Windows\SysWOW64>regsvr32 vsStr7.ocx

Once I did that, I opened up VB6 and the project in question, then clicked the control and tried to click the FormatString property. This time instead of the error I was greeted with a nice GUI that allowed me to change things!

Hope this helps someone else even though all this is ancient!