The installer for my app runs several sub-programs which are written in a mix of VB5 and VB6. On one customer's computer, when running the installer, the error
"Wrong version of run-time DLL"
is shown.
This is the first time this issue has ever come up (to my knowledge) for this legacy software.
What is the cause of this error?
This error usually means there is an old version of
MSVBVM50.DLL
already installed on the computer or in the wrong location.This might have occurred if an older software installer was run, which misbehaves my overwriting the current version of that DLL with an older one, or putting it in the wrong location such that it is loaded by Windows instead of the correct version.
The fix should be to run the installer for the latest VB5 runtime package from here: https://support.microsoft.com/en-us/help/180071/file-msvbvm50-exe-installs-visual-basic-5-0-run-time-files
That contains
MSVBVM50.dll
as well as several other related dependencies / files.Before doing so it may be worth checking that there are not multiple copies of that DLL on the PC in different locations. For instance, one in
C:\Windows\System32
and another inC:\Windows\SysWOW64
. If that is the case it may be necessary to manually clean them up before reinstalling.