I've come up with this PURELY *CONCEPTUAL* sequence "code" to describe what I'd like to achieve, as I probably haven't explained it clearly:
*<BDE_DIR> = "HKEY_LOCAL\Software\Software Shared\Borland\Database Engine\DLLPATH" (note: this registry key has a value of the path to the BDE installation, on my system it's: "C:\Program Files\Common Files\Borland Shared\BDE" BDE is also placed in the Common Files folder manually, as I found with the merge module that it would overrwrite the config if it was installed twice (e.g in both MSI's)
*<INSTALL_PATH> = Defined by install.
INSTALL Product 1 -> If KeyExists "<BDE_DIR>" = true then end else
If false then install+create
INSTALL Product 2 -> If KeyExists "<BDE_DIR>" = true then end else
If false then install+create
--
UNINSTALL Product 1 -> If KeyExists "<BDE_DIR>"
If File.Exists "<INSTALL_PATH>\Product 2\" = true then end else
If File.Exists "<INSTALL_PATH\Product 2\" = false then del "<BDE_DIR>" and end
UNINSTALL Product 2 -> If KeyExists "<BDE_DIR>"
If File.Exists "<INSTALL_PATH>\Product 1\" = true then end else
If true, If File.Exists "<INSTALL_PATH>\Product 1\" = false then del "<BDE_DIR>" and end
Does this seem remotely reasonable?
And if so, is there an easier/better way to do it
?
Also, how would I ADD/install these conditional components from the MSI, from a vbscript? REMOVING them from the system I guess is the easier part
Edited by knarF, 21 September 2005 - 04:52.