windowsdllvb6ocxregsvr32

regsvr32 error: the module was loaded but the entry point was not found


People here use an old compiled VB program, the last version is 16 years old. It works on some machines but not on others, all with the same 1709 version and updates of Windows 10.

Where it does not work a message says either that msdatlst.ocx or msdatgrd.ocx is not registered. Then when I try to register with regsvr32 'MSDATGRD.OCX' there is a message "the module was loaded but the entry-point was not found". The same command is successful in the machines where the program works.

I did read some questions here but none of the answers solved it for me. Any ideas?


Solution

  • Thanks to @Mark's comment and all the others. The problem was indeed what version of regsvr32 was executed.

    In the machines where it was possible to register the ocx the default version is at \windows\syswow64 and in those where that was not possible at \windows\system32. Then I did run the syswow64 one and the registration succeeded and the program now works.