2

I have a VB6 program from many years ago. It has an 'out of process' COM exe that the main program starts and sends messages (API calls). The program and installer have worked fine for a number of years. The program works fine on Windows 7 and on Windows 10 64bit 2016 1607. We have recently received computers that are running Windows 10 64bit 2019 1809 and another one with Windows 10 64bit 21H2. None of these computers will allow the 'out of process' COM exe to start. I am getting the 430 'Class does not support Automation...' message or the 429 'ActiveX component can't create object'.

This feels like some sort of permissions issue. These PC's are single purpose PC. Only one user with Administrative rights. If I look in the registry on the PC's I see my EXE program with the correct GUID's. It looks like it is registered. I have the UAC set to the lowest level, as that has helped in past.

I have tried 'regsvr32 programName.exe' and 'programName.exe /regserver' . Some other stackOverflow answers indicated I should run 'regtlib msdatsrc.tlb', but I can not find 'regtlib' on the PC anywhere. I can find 'msdatsrc.tlb', but I'm not sure how that relates to my program. I also have a little helper program that will show the GUID and version information for any OCX or EXE. This program fails in the same way. Although the helper program runs ok on my company PC, which is Windows 10 21H2.

I just ran the program and noticed that the 'programName.exe' briefly appeared in the Task Manager. So, it is being started but then crashing or something is 'ending' it.

Thanks for any suggestions...

Ryan Buton
  • 341
  • 3
  • 11
  • 3
    The exe may be missing some satellite/dependencies files. If you see it briefly running, it's probably not related to rights/permissions. You can use procmon tool from sysinternals https://learn.microsoft.com/en-us/sysinternals/downloads/procmon, filter by your exe (file & registry access) and check what files (missing files) are looked after. PS: regsvr32 is only for dll. – Simon Mourier May 31 '23 at 21:17
  • It might start and _then_ tries to access "forbidden" areas, then gets terminated by the OS (or AV software?), so I won't rule out permissions. That said, one thing worth trying is to set the compatibility mode for the program to Windows 7 (or Windows XP SP3) and see what happens. But a missing dependency could also be very well the cause. – Hel O'Ween Jun 01 '23 at 10:07
  • I will try procmon with a system that works and compare the two outputs. The output of the one that fails only shows a few entries, then 'Process Exit'. I tried 'XP" and 'Win 7' mode but same results. I am seeing some registry access errors being reported by the main program, so maybe that is the root cause. – Ryan Buton Jun 01 '23 at 13:17
  • 'ActiveX component can't create object' usually indicates some kind of dependency or compatibility problem. As Simon Mourier said, Process Monitor is a very useful tool for troubleshooting such problems. Take a look at https://stackoverflow.com/questions/59463345/distributing-visio-addin-developed-in-vb6/59466130#59466130 just change Process Name in Process Monitor filter. – Smith Jun 01 '23 at 18:47
  • Thumbs up on the process monitor suggestion – StayOnTarget Jun 02 '23 at 16:09

0 Answers0