I have a main application TheApp
which supports plugins. Application A is installed by default at $(ProgramFiles)\TheApp
, but the gold-owners want this to be user-customizable, so its location may vary depending on user input at installation time.
Plugins are installed by copying them to a subdirectory Packages
under installation directory. Specifically, no registry settings need to be set for a package to load, and I'm trying to stay out of the registry as much as possible. Naturally, if the user changed the installation directory when installing TheApp
, the plugins must also change their installation location to match.
How is this best accomplished? I'm not seasoned at writing MSI installers with WiX, but my first attempt would probably be to create a registry key when TheApp
is installed saving its install location, and then have the plugins search for the registry key. This forces me to create registry value, which is what I'm trying to avoid if possible. However, it strikes me that the installer should be able to take advantage of the Windows Installer database to locate the TheApp
's installation directory. That would remove the need for a registry entry.
Is there a "best practice" for how to do this inter-installer communication, specifically the installation directory? How would the communication look like, given that both installers will be written in WiX?