We have a product similar to Microsoft Office. Several different applications with a lot of shared libraries. We’re trying to refactor the deployment process of this product as currently we’re using several individual MSI packages to install each application independently. While this is working, we would like to use the WiX bootstrapper to bundle these MSI files and create just one setup application. Currently all shared libraries are included in each MSI package, which takes a lot of space.
We have basically two options to achieve this:
- Create one WiX setup (MSI) project; include all products as individual Features. In this case handling the shared libraries is pretty straight forward. But the structure of the project is getting too big in my opinion.
- Create several MSI packages. Each with just one product and bundle them to the bootstrapper. In my opinion, this approach is more flexible and more clearly arranged in terms of files and components. However how do shared libraries work here? They should not be included in each and every MSI file.
Which approach is preferred in a WiX bootstrapper project?