I'd like to have 3 MSI in one bundle. One is an application that's a dependency (dep1) shared by the other two (app1 and app2). I'd like to install dep1 as a dependency on installation of either or both of app1 and app2 and also remove dep1 if, and only if, both app1 and app2 are uninstalled.
I'd also like app1 and app2 to show as two separate installations under Programs and Features but hide dep1. E.g. if app1 is uninstalled via Programs and Features then dep1 remains but if app2 is also uninstalled then dep1 is removed.
Is this possible using Burn? What are the fundamentals I need to do to set this up? Package Ref Counting sounds like what I need but I'm a bit lost on how to set this up.
It appears I need to add a Provides element to the dep1 MsiPackage and Requires to the Product element for app1 and app2? I'm unsure if this means dep1 will also be uninstalled when app1 and app2 are.