Reflection “Error initializing VBA components” when loading the Reflection Workspace.

  • 7022849
  • 12-Apr-2018
  • 05-Nov-2018

Environment

Reflection Desktop (including Pro, for X, for IBM, or for UNIX and OpenVMS) 16.0 and higher
InfoConnect Desktop for Unisys 16.0 and higher

Situation

“Error initializing VBA components.  One of the VBA components is missing or corrupt.  VBA needs to be reinstalled.” appears when loading the Reflection or InfoConnect Workspace.



An additional symptom of this situation is that the Reflection Workspace appears to hangs at load.  In this situation, the Reflection Workspace has actually loaded but there is an error message that cannot be seen as it is behind the Reflection banner or logo.  Click the mouse on the Windows taskbar icon for Reflection Workspace and the error will appear that says “Error initializing VBA components.  One of the VBA components is missing or corrupt.  VBA needs to be reinstalled.”.  Click on OK and Reflection will load and run but will continue to get this error occasionally as it tries to access the Visual Basic for Applications code.

Resolution

The Microsoft Visual Basic for Applications (VBA) package installed by Reflection Desktop 16 is an integral part of the product that typically gets installed as a pre-requisite, but can also be an optional component.  If Reflection Desktop is installed via the SETUP.EXE program, the Visual Basic for Applications is listed in the Feature Tree of options and is installed by default and the error listed in the article will not appear.

If Reflection Desktop is deployed directly via the installer package (*.msi) file (using a msiexec command or third-party tool) problems like the error message described in this article can occur.

1. If no VBA is desired, make sure to install Reflection via a msiexec command line with a TRANFORM file set to remove the Visual Basic for Applications feature.

        Example:        msiexec /I ReflectionV16.1.msi TRANSFORMS=custom.mst /qb

2. If the VBA feature is desired, deploy the additional Microsoft VBA 7.1 core and language-specific *.msi packages from the ..\Prerequisites\VB71 folder via a msiexec command line.

        Example:        msiexec /I vba71.msi /qb                   for the VBA Core
                               msiexec /I vba71_1033.msi /qb          for the English language


Additional Information

An additional cause of this error can be a "corrupted" VBA 7.1 installation where the Microsoft VBA files are present on the PC, but a required registry key which VBA is responsible for installing is missing.

Run REGEDIT and confirm that the "VBE71DllPath" registry key (String Value) under HKEY_LOCAL_MACHINE\SoftwareWow6432Node\Microsoft\VBA is set to “C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBA7.1\VBE7.DLL”.  If this key is missing, then run a repair on the Microsoft VBA 7.1 Core installer via the following command:

            msiexec /fm {90120000-0070-0000-0000-4000000FF1CE}

This will force a repair of the VBA 7.1 Core installation and repair all the required computer-specific registry entries.