Why does a VB6 exe load an .oca file instead of .ocx file?
Posted on 2011-05-08
I am trying to create a distributable VB6 EXE. My predecessor had built an EXE that uses many custom ActiveX controls. If I recompile his code, and monitor the process with Process Monitor, the new EXE loads the .oca file of one such control instead of the .ocx file. I can see that the original exe that he built loads the .ocx file using its class id. But, if I recompile, my EXE loads the corresponding oca file instead. I have tried deleting all my oca files and used a registry cleaner, but once I re-open the vbp file to compile, the oca files are recreated. I even tried compiling using command line, but VB still creates the oca files when I do this.
I think I should be able to install the previous version of our application, and simply recompile the main EXE, and then be able to run that EXE on another machine that has the app installed, but since it is trying to reference the oca file which has a different registry id on the other pc, it will not run. My EXE is actually an ActiveX EXE.
Can anyone tell me what I am missing here? Or how to get by this issue? Is there some setting that tells VB to load ocx files instead of oca files?