How do I combine the capabilities of related sets and modification packages?

  installation, msix, windows

I have a suite of applications that I want to provide to a customer in the form of MSIX packages and/or bundles. The suite of applications can be divided into two distinct groups: a core set and an extended set. I want to provide the software in the form of a related set (to use the terminology of MSIX) consisting of a main package (containing the core set of apps) and an optional package (containing the extended set of apps but not the core apps). I have succeeded in creating these packages.

The applications in the software suite all require a database connection. The database to be connected-to is a matter for app configuration. The way to achieve this promoted by Microsoft, in the world of MSIX, is so-called modification packages. I have successfully created a modification package that allows the apps in my main package to be configured to connect to the correct database.

I do not know how to combine these two features (related sets and modification packages). When I install my main package, followed by my optional package and modification package, the main package works; however it is apparent from the behaviour of the apps in my optional package that they "cannot see" the configuration files provided by the modification package. This is a surprise to me, as I had expected that the virtualised filesystem would be merged between all three packages (the main package, the optional package and the modification package) – just as it is merged between the main package and modification package in the case where no optional package is involved.

What are we meant to do in this case? As far as I can tell I am using both features (related sets and modification packages) for precisely the purposes Microsoft had in mind. Yet they seem not to work together.

Can you just publish a second modification package for the optional package?

No, you can’t! MakeAppx.exe will happily construct that package for you, but if you try to install it, Windows 10 will complain that the package you’re trying to install requires a "main package" which isn’t installed – even if the optional package serving as the to-be-modified package is indeed installed alongside the true main package. Clearly, Microsoft didn’t intend for you to publish a modification package that modifies a package that is itself an optional package within a related set.

Source: Windows Questions