PRB: "Wrong Version Of Run-Time DLL" When Starting Application

Article translations Article translations
Article ID: 185992 - View products that this article applies to.
This article was previously published under Q185992
Expand all | Collapse all


When starting a Visual Basic 5.0 application, you might receive the following error dialog box:
"Wrong Version Of Run-Time DLL"


The wrong version of the run-time file, Msvbvm50.dll, is installed on the target machine.


The most recent version of Msvbvm50.dll must be installed.

To resolve this problem, install a Visual Basic 5.0 application built using the Application Setup Wizard onto the target machine, or manually copy the most recent version of Msvbvm50.dll into the System directory (or System32 for NT machines) and register it using RegSvr32.Exe.

To register the run-time file manually, use RegSvr32.Exe (shipped on the Visual Basic CD in the OS\System and Tools\RegUtils directories) as demonstrated below:
  1. On the Windows Start menu, click Run.
  2. Type in the following and press ENTER:
    RegSvr32.Exe MSVBVM50.DLL
    You should see a message similar to the following:
    "DLLRegisterServer in C:\Windows\System\MSVBVM50.DLL succeeded"
  3. If you do not see this message, please make sure you have the most recent version of Msvbvm50.dll and you have RegSvr32.Exe installed in the Windows System or System32 folder.

    NOTE: It is also possible to obtain all of the latest run-time files by installing the self extracting EXE referred to in the following Microsoft Knowledge Base article:
    180071 : FILE: Msvbvm50.exe Installs Visual Basic 5.0 Run-Time Files


This behavior is by design.


The Application Setup Wizard should always be used to distribute your Visual Basic 5.0 applications (or an equivalent third-party distribution tool). This ensures that the necessary support files are brought along and installed on the target system.

When compiling a Visual Basic program, the final output requires either the run-time file that is installed upon the development system (or a more recent run-time file). Older applications are not broken by newer versions of the run-time file, but newer applications are broken by older versions of the run-time file.

However, sometimes the wrong version Visual Basic 5.0 run-time file can still be installed on a system and lead to the above error message. If the NT Option 4.0 or Internet Information Server 4.0 is installed, there is the chance that an older version of the run-time file will be installed.

There are currently two versions of the Visual Basic 5.0 run-time file:
     Run-Time File     Version           Ships With
     Msvbvm50.dll      5.00.3724         Visual Basic 5.0
                                         Visual Studio 97
                                         NT Option Pack 4.0
                                         Internet Information Server 4.0

     Msvbvm50.dll      05.00.4319 (SP2)  Visual Studio Service Pack 2
                                         Visual Studio Service Pack 3

If you have installed the most recent version of the Visual Basic 5.0 run- time file, installing either the NT Option Pack 4 or Internet Information Server 4.0 results in the older version of the run-time file replacing the most recent version, and all Visual Basic 5.0 applications compiled under Service Pack 2 or 3 will break.


Article ID: 185992 - Last Review: December 10, 2003 - Revision: 2.0
  • Microsoft Visual Basic 5.0 Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
kbprb KB185992
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from