Duplicate application descriptions can lead to overlapping installation directories

Date:1 July 2014
Product/Release:Visual LANSA - V13 SP2
Abstract:Separate applications that have the same application description will end up installing into the same location by default. This will cause problems if one of the applications is uninstalled.
Submitted By:LANSA Technical Support

Description:

With the MSI installer it is no longer possible to manually specify the default install location of your applications. In keeping with Windows standards, it will default to one of the following locations:

  • %ProgramFiles%\[Company name]\[Application description] for an all-users installation on a 32-bit OS
  • %ProgramFiles(x86)%\[Company name]\[Application description] for an all-users installation on a 64-bit OS
  • %LOCALAPPDATA%\[Company name]\[Application description] for a current-user only installation (both 32 and 64-bit OS)

C:\Program Files, C:\Program Files (x86) and C:\Users\[Username]\AppData\Local are the usual locations, though it may vary depending on the Windows environment variables. The Company name, and Application descriptions however, are determined by the deployment package settings.

While the application ID needs to be unique in the Deployment tool, the description is not checked for uniqueness. This means it is possible to have two applications which will default to the same installation directory on the target PC. Furthermore, there is no warning message when installing, so the user may not be aware that both applications are installed in the same location.

When one of the applications is uninstalled, it will remove files and objects required for both applications, leaving the second application unusable.

Solution:

To avoid this, the first suggestion is to ensure application descriptions are unique. A check to enforce this is being considered for a future version of deployment tool. Alternatively, it is possible to specify the install directory manually using msiexec.exe command parameters (see documentation for more details).

If your applications are already released with duplicate descriptions you will need to do the following, assuming you have two applications named App1 and App2:

  1. Uninstall one of the applications, for example, App2 - this application, App2, should then be rebuilt in Deployment Tool with a unique description.
  2. The remain application, App1, will be rendered inoperable by the uninstallation of the App2. Re-run the installer for App1 and select "Repair" to make it operational again.
  3. Reinstall the rebuilt App2 from step one that you rebuilt with a unique description. This will now be installed into a unique directory.