I have two SKUs of my product. Both are using Burn as a bootstrapper. I have authored the MSIs in such a way that the Pro version will upgrade and replace the Lite version. But once I've wrapped them in burn, the Pro version upgrades the MSI correctly but the Lite install entry remains in the ARP list. They are both the same version number and I've set:
<RelatedBundle Id="LITE_UPGRADE_CODE" Action="Upgrade"/>
In the Pro bundle.
Is there some way to remove the Lite entry?
Yes, but you will need to do one of the two following things:
(easy): Make the Pro bundle have a higher version than the Lite bundle - upgrades only kick in when the version is higher.
(harder): Use a custom BA to plan the Lite related bundle as Absent
- you could change the RelatedBundle/@Action
to Detect
and when the Lite bundle comes up in OnPlanRelatedBundle()
change the requested state to Absent
. Pro bundle will remove the Lite bundle at the end of the apply phase.
The custom BA is probably the more correct way to solve the problem but will be a lot more work if you haven't already invested in a custom BA yet.
Good luck!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With