Problem:
When playing back independent packages of applications from the same vendor that share similar folder structures, only the files and/or directories of one of the packages is visible in Explorer, display functioning shortcuts, etc.
Resolution:
It's common for different applications from the same vendor to share a common parent folder - e.g. 'C:\Program Files\Adobe' and 'C:\Program Files\Google'. While the different applications share the same parent directory, the subdirectories immediately under the shared parent directory are generally unique to the respective application and don't overlap with other applications from said vendor. This scenario is fully supported.
However, certain applications from the same vendor are broken down further into different installable components with installation paths that not only share the same parent directory but also the same subdirectory or subset of directories immediately under said parent directory. This scenario is not currently supported.
One such example would be capturing 'SAP GUI for Windows' and 'SAP Secure Login Client' as individual packages and attempting to layer both packages on the same client endpoint. Both SAP components install to respective directories in the locations shown below by default.
%ProgramFiles%\SAP\FrontEnd
%ProgramFilesX86%\SAP\FrontEnd
We can see that not only is the parent 'SAP' directory shared by each application but also the 'FrontEnd' subdirectory immediately below the parent directory. The shared 'FrontEnd' subdirectory is what will cause the problematic behavior outlined at the beginning of the article.
To avoid this issue, there are different options available as listed below.
Option 1: Capture all applications that share the same folder structure as a single package or, if using existing packages, merge the different packages into a single package via FlexApp Packaging Console
Option 2: If possible and doesn't result in compromised functionality of the application, modify the default path used during the installation process to be a unique subdirectory under the parent folder
Option 3: Create the shared parent directory locally on the packaging machine before initiating the capture process, making the shared subdirectory the new shared parent directory. Continuing with using SAP as a working example, the following directories would be created locally on the FlexApp Packaging Console before initiating the capture process.
%ProgramFiles%\SAP
%ProgramFilesX86%\SAP
Product: FlexApp
Product Version: 6.8.6
Expires on: 365 days from publishing
Created: Feb 13, 2024
Product: FlexApp
Product Version: 6.8.6
Expires on: 365 days from publishing
Created: Feb 13, 2024