I have an MSI package that incorporates a chained MSI that is installed via a custom action, there is another custom action which ensures that the chained MSI is uninstalled with the main MSI package - this all works fine. My problem comes after I install an upgrade to the main MSI package - if the main MSI package is then uninstalled, the chained MSI is not uninstalled and is left behind, and it cannot then be removed manually using Add/Remove Programs as it displays the message "This action is only valid for products that are currently installed". To get the chained MSI to uninstall I have to reiunstall and then remove the original (pre-upgrade) MSI package.
Does anyone know why this is happening? Can a chained MSI be removed only by the original MSI package and not one that has been upgraded, i.e. is the chained MSI linked to the package code of the original non-upgraded MSI package? If so how can I overcome this?
Peter