PRB: "Unexpected error; quitting" Installing VB4 Application

Last reviewed: March 9, 1998
Article ID: Q162518
The information in this article applies to:
  • Standard, Professional, and Enterprise Editions of Microsoft Visual Basic, 32-bit only, for Windows, version 4.0 on the following platform: x86

SYMPTOMS

When you attempt to install a Visual Basic 4.0 32-bit application created using the Setup Wizard, the following error message appears:

   Unexpected Error; Quitting

CAUSE

This problem occurs because the target machine has version 5.x of Olepro32.dll installed but does not have version 2.20.xxx of Oleaut32.dll installed. This can happen when Visual Basic 4.0 developers install an Office 97 application, Internet Explorer 3.0, or Visual Basic 5.0 on their machine (thus installing Olepro32.dll version 5.x), and then create a distribution using the Visual Basic 4.0 Setup Toolkit. The Visual Basic 4.0 Setup Toolkit includes version 5.x Olepro32.dll in the files it installs. When an attempt is made to install the Visual Basic 4.0 application on a machine that does not have the version 2.20 Oleaut32.dll, it fails as described above, leaving the updated version of Olepro32.dll on the target machine.

Also, any application on the target machine that uses Olepro32.dll will no longer work because Olepro32.dll attempts to forward calls into the new Oleaut32.dll, which is not present.

RESOLUTION

The Visual Basic 4.0 Setup Toolkit cannot be used to install the updated Oleaut32.dll on the target system because doing so requires the system to be restarted and the Visual Basic 4.0 Setup Toolkit does not have this capability.

To correct problems on target machines where installation was attempted, there are two options:

  1. Install an application that includes the new Oleaut32.dll onto the problem machines by installing any of the following apps: Internet Explorer 3.0 or Visual Basic 5.0 CC edition (downloadable from the Web), Office 97, Visual Basic 5.0, Windows NT 4.0, or Windows NT 3.51 Service Pack 5.

  2. Get the original Olepro32.dll from the Visual Basic 4.0 operating system CD-ROM and replace the 5.x version of Olepro32.dll with it. Machines that are not having problems do not need to delete any files.

You now need to recreate your installation so the problem will not re-occur. Do this by copying the following components from the \vb\system directory of your Visual Basic 4.0 CD-ROM:

   OLEPRO32.DLL
   MFC40.DLL
   MSVCRT40.DLL

to the following folder:

   C:\Program Files\Microsoft Visual Basic\Setupkit\Kitfil32\sys32

Now recreate your distribution. Microsoft Visual Basic 4.0's Setup Wizard always looks first at the above folder when searching for dependent files. When you install your application, only less-recent files on the target machine will be overwritten.

STATUS

Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Keywords          : SetIns TlsSetWiz
Technology        : kbole
Version           : 4.0
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbprb


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 9, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.