I can't remember the last time I was so frustrated with anything.

I got up and running for a short while by installing VB6 on a different machine and using it, but it is time for me to make this work on my laptop again.

I have uninstalled some shareware software that had a more recent version of the control.

I have run a registry cleaner

I have searched for "threed" in my registry and deleted every entry that pertained to the threed32.ocx controls.

I have searched for the GUID for the TypeLib (the ID that is referenced in the VB6 .frm file) and deleted all of those entries

I have deleted threed32.oca

I have uninstalled and reinstalled vb6

I have copied the files from the VB6 CD, and I have run the vbctrls.reg to license them.

Attempting to add the control to a new project will register it, but still results in the "d:\winnt\system32\threed32.ocx could not be loaded." Error.

I feel like my options at this point are to rip this control out of my project on another machine so that I don't need it, or to reinstall the OS.

I really don't know what else to do, and I'm hoping that someone else has a solution that is less ridiculous/drastic. There must be a simple reason...

Does anyone know, perhaps, what the exact process VB6 uses to load a control is? i.e. read the GUID in the .prj file, look up the registry key, checks the version#, find the location, look for an oca, etc.

Perhaps if I understood what VB is looking for I could trace through manually and find what's missing/wrong.

Thanks,

Mish