Troubleshooting VBA Installation Errors in Reflection

  • 7021615
  • 07-Apr-1999
  • 01-Apr-2018

Environment

Reflection for UNIX and OpenVMS
Reflection for ReGIS Graphics
Reflection for HP
Reflection for IBM
Reflection for the Multi-Host Enterprise Professional Edition
Reflection for the Multi-Host Enterprise Standard Edition
Reflection Suite for X
Reflection X
Microsoft Windows XP
Microsoft Windows 2000

Situation

When starting Reflection, you may see an error stating that "Visual Basic for Applications (VBA) has not been correctly installed. Please re-run the Reflection Setup program." This technical note describes several solutions to this problem, which is fixed in a later release of Reflection.

Resolution

Several possible solutions are presented in the following sections.

Upgrade to Reflection 10.0.2 or Higher

This problem has been solved in Reflection 10.0.2 or higher. If possible, upgrade your Reflection version. If you cannot upgrade, follow the procedures below in the order presented.

Uninstall VBA

Determine if VBA is needed in your work environment. If not, uninstall this feature using the Windows Add/Remove Programs utility.

  1. Select your Reflection product and click Change.
  2. Select Modify as the maintenance operation, and click Next.
  3. Click the Visual Basic for Applications drop-down menu and select "Entire feature will be unavailable." Proceed with the removal of VBA.

Repair the Reflection Installation

See KB 7021644 for instructions on how to repair a Reflection installation.

The following two solutions are applicable in any environment, but may solve the problem in Citrix or multi-user environments.

Verify Registry Permissions

If the VBA error is experienced only by non-administrative users on Windows XP or Windows 2000 systems, follow the steps below to examine the registry permissions and expand them, if necessary.

If the VBA error is experienced by both administrative and non-administrative users, skip these steps and proceed to Verify NTFS Permissions.

  1. Log into your Windows system using a local administrative account.
  2. From the Start menu, click Run.
  3. Enter Regedt32 and click OK to open the Registry Editor.

Note: You must run Regedt32.exe, not RegEdit.exe.

  1. On the Window menu, select HKEY_LOCAL_MACHINE on Local Machine.
  2. From the list of folders on the left, navigate to and select the following key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\MSO97RT
If you do not have this key, skip the remaining steps and proceed to Verify NTFS Permissions.
  1. On the Security menu, click Permissions to open the Registry Key Permissions dialog box.
  2. In the Name list, click Everyone.
  3. For Type of Access, select Special Access... (with ellipsis) to view the Special Access dialog box.
  4. Click Other. Select the following check boxes, if they are not already selected:
Query Value
Set Value
Create Subkey
Enumerate Subkeys
Notify
Read Control
Note: As an alternative to clicking Other and specifying the types of access, you can click Full Control (All).
  1. Click OK twice to save the changes. Exit the Regedt32 program.

If you still receive an error message in Reflection after modifying the registry, proceed to the next section.

Verify NTFS Permissions

If you are using Windows with NTFS, the VBA errors may appear if permissions on the Program Files\Common Files\Microsoft Share\VBA, or Windows\System32 folders are too restrictive. These folders contain DLL files used by VBA. The steps you follow depend on the operating system.

If you are not using NTFS, skip these steps and proceed to Uninstall and Reinstall.

Windows 2000

Follow the steps below to expand the NTFS permissions on these two folders:

  1. Log on to your Windows system using a local administrative account.
  2. Open Windows Explorer. Right-click on the System32 folder (located in the Winnt folder, by default), and then click Properties.
  3. Click the Security tab, and then click the Permissions button.
  4. In the Name list, click Everyone. For Type of Access, select Full Control.
  5. Select the Replace Permissions on Subdirectories and Replace Permissions on Existing Files check boxes. Click OK.
  6. Click Yes in the confirmation dialog box that appears. Click OK to exit the Properties dialog box.
  7. While still in Windows NT Explorer, navigate to the Program Files\Common Files\Microsoft Share\VBA folder. Repeat steps 3 through 6 above for the \VBA folder.

If you still receive VBA errors in Reflection after correcting the NTFS permissions, proceed to Uninstall and Reinstall.

Windows XP

Follow these steps to expand the NTFS permissions on a Windows XP machine.

  1. Log on to your Windows system using a local administrative account.
  2. From the Start menu, click Run.
  3. Enter Regedit and click OK to open the Registry Editor.
  4. Under My Computer, select and expand the HKEY_LOCAL_Machine key.
  5. Expand the Software key > Microsoft key > Shared Tools.
  6. Select the MS097RT key.

If you do not have this key, skip the remaining steps and proceed to "Verify NTFS Permissions."

  1. Click Edit > Permissions.
  2. In the Name list, select the group to which the user belongs and click Advanced.
  3. Select the group to which the user belongs and click Edit.
  4. Select Allow for the following permissions.
Query Value
Enumerate Subkeys
Notify
Read Control
  1. Click OK twice to apply the changes.

If you still receive VBA errors in Reflection after correcting the NTFS permissions, proceed to the next section.

Uninstall and Reinstall

If you still experience VBA errors after completing the procedures above, there may be a continuing conflict with the VBA shared component, or your original VBA installation may be corrupt. Uninstalling and reinstalling Microsoft Office and/or Reflection may resolve this problem.

Contact Attachmate

If the procedures in this technical note do not help you resolve the VBA error, contact Attachmate Technical Support for further assistance, https://support.microfocus.com/contact/.

Additional Information

Legacy KB ID

This document was originally published as Attachmate Technical Note 1283.