How to remove the Microsoft VBA installed by Reflection Desktop

  • 7022850
  • 12-Apr-2018
  • 02-Jul-2018

Environment

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


Situation

Reflection Desktop 16 installs a copy of the Microsoft VBA as a prerequisite but goes not remove the VBA modules when uninstalling itself.  There can be many reasons to want to uninstall the VBA code.  One reason might be to create a “clean” PC for that will be used for deployment testing, or for creating virtual image packages for environments like Microsoft App-V.

Resolution

The Microsoft VBA can be removed by a Windows Installer (msiecec.exe) command line.  Many versions of Reflection contain the same build of the VBA code, so the same msiexec command line can be used for multiple versions.   To find the uninstall command line requires the manual inspection of the Microsoft Windows registry keys found at:
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products
Open and expand each registry key and examine the “InstallProperties” for the “UninstallString” key to determine the appropriate msiexec /X {GUID} command

For example:
        Product:                           Microsoft Visual Basic for Applications 7.1 (x86) English
        Msiexec Command:        MsiExec.exe /x {BAB89D31-4C55-472B-8909-6CBE2CC276B1}

Here is a batch file that can be used to remove many versions of the VBA modules installed by the Reflection software:

echo off
echo This Batch file will remove all versions of VBA installed by Reflection
:: This only works with the English language install of VBA
pause

:: this information can be found in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products keys

:: remove VBA for Reflection 2011
:: remove VBA core
msiexec /x {FB97C283-1F3C-42D4-AE01-ADC1DC12F774}
msiexec /x {A13D16C5-38A9-4D96-9647-59FCCAB12A85}
:: remove English language
msiexec /x {179D679D-047F-491D-8783-D4BE596D2242}

:: remove VBA for Reflection R2014
:: remove VBA core
msiexec /x {74170BFD-A50C-46D9-8AF2-AF0A0CE017DD}
:: remove English language
msiexec /x {A13D16C5-38A9-4D96-9647-59FCCAB12A85}

:: remove VBA for Reflection Desktop v16
:: remove VBA core
msiexec /x {90120000-0070-0000-0000-4000000FF1CE}
:: remove English language
msiexec /x {BAB89D31-4C55-472B-8909-6CBE2CC276B1}

:: pause to see output before exit
echo Reflection VBA removal complete
pause

As you run the batch commands above, you will receive Windows User Access Control (UAC) prompts when the msiexec commands find an installed product.
Prompts to uninstall products (which should be answered in the affirmative) will also appear as shown below:



and



Since the batch file contains many msiexec commands to uninstall products that may not exist on your PC, be prepared for the display of the following error message which is appropriate and expected and shown below:



Feedback service temporarily unavailable. For content questions or problems, please contact Support.