0

A client has recently given me some work involving their (old) VB6 program. I've successfully installed VB6 in a VM with Windows XP (32 bit), and it works just fine. The problem is when I try to open the client's program. The following messages pop up:

crystl32.ocx could not be loaded--Continue Loading Project?

FM20.DLL could not be loaded--Continue Loading Project?

After that there are a bunch of warnings cause of crystl32.ocx. So I tried to register the dependencies with regsvr32, but it said that the modules couldn't be found, even though they were right there. Googling the problem took me to download Dependency Walker and find which dll files were needed for those files, which were:

msvcr100.dll

IEShims.dll

wer.dll

crpe32.dll

After downloading these dll files, I tried registering the first one, but it said that the "dllregisterserver entry point was not found". So I tried to unregister it first, but it couldn't find the module.

I've reinstalled VB6 several times, to no effect. Any ideas on how to make this work?

StayOnTarget
  • 11,743
  • 10
  • 52
  • 81
  • Have you installed Crystal Reports into the VM? – Brian M Stafford Dec 31 '20 at 19:52
  • @BrianMStafford I've tried to... Unfortunately I can't find an early version like 4.6 or CR XI 2 that is compatible with VB6, as SAP has pulled most of those links down. – gladiator2471 Dec 31 '20 at 20:48
  • If you installed VB6 from the original disks you will have Crystal on one of those disks as a separate install. – Brian M Stafford Dec 31 '20 at 20:57
  • You say you're running this all under a VM. If your host operating system is Win-10, you can install VB directly on that, and I found that this cleared up quite a few dependency problems, especially involving the PDW installer (which you didn't mention needing, but you're obviously not to that point yet). There are a couple of tricks to make it work correctly; here's a post that explains how to do it: https://stackoverflow.com/questions/52001443/cannot-install-vb6-ide-on-windows-10 Also make sure that you install the final service pack (SP6). – Mark Moulding Jan 01 '21 at 03:54
  • @MarkMoulding that sounds like a good idea, I'll try it first thing tomorrow morning – gladiator2471 Jan 01 '21 at 04:35
  • 1
    If you are running in a 64 bit environment, make sure you are using the 32 bit version of regsvr32 – StayOnTarget Jan 04 '21 at 14:18
  • Only COM aka "ActiveX" DLLs need to be registered. The DLLs throwing that error are native 32 bit DLLs, i.e. no need to register them and therefore they don't implement and expose the (for COM DLLs) required DllRegisterServer methods. @Smith installer suggestion below is a good advice and might work, if the installer includes all necessary dependencies. – Hel O'Ween Jan 07 '21 at 13:18

2 Answers2

0

Crystl32.ocx and Crpe32.dll are Crystal Reports run time files.

FM20.DLL is Microsoft Form 2.0 Library with some standard GUI controls like label, text box, check box etc. Msvcr100.dll is a part of MS Visual C++ 2010 Redistributable Package

If there is an installer of your client's program you should run it before opening the source code with VB6 IDE. That way you’ll get all the dependencies required by VB6 program. If not, please post the vbp file of your VB6 application.

Smith
  • 710
  • 1
  • 7
  • 11
0

thanks for all the help! The solution in the end was the installation of the CR 4.6 that the client later provided me with (as @BrianMStafford suggested), of VB6 SP6 and of Office 2007, together with SP3. With that I've managed to get the project running, so thanks to everyone!!