Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why would VB6 compiled application require VB5 VM?

Tags:

dll

vb6

vb5

I have upgraded a VB5 product to VB6 and produced an executable from the VB6 IDE. It will not execute properly without the presence of MSVBVM50.DLL. Without it it generates the following error:

Automation error - cannot find specified module.

What could the reason for this?

Is it possible that there is a component DLL that has been compiled in VB5 that would require the VB5 VM?

like image 748
CJ7 Avatar asked Jan 31 '13 13:01

CJ7


2 Answers

In the VB6 IDE the Project > Components menu will show the Components dialog and Project > References will show the References dialog.

Find which components are ticked and make sure that they are the VB6 versions and not VB5 versions. Many of the standard controls were updated with VB6.

In particular look for the various 'Microsoft windows Common Controls' entries as they are some of the ones you are least likely to notice changing as they are visually identical in the toolbox.

like image 150
Carl Onager Avatar answered Sep 28 '22 15:09

Carl Onager


Your suggestion is correct. If you are using a component (DLL, OCX) that depends on the VB5 runtime you can't run your program without it.

You need to check your referenced DLL's and components to search for the one using VB5 VM.

like image 43
GTG Avatar answered Sep 28 '22 15:09

GTG