我目前正在学习WiX和
Windows安装程序的变幻莫测,我遇到了绊脚石.
我目前正在打包的项目由六个不连续的块组成.现在让我们称它们为A,B,C,D,E和F.
块A是一组公共库和实用程序,每个其他项目都使用它们.它不提供任何最终用户功能.
块B是另一组需要Chunk A提供的功能的公共库和实用程序.这看起来很奇怪,但架构超出了我的影响或控制能力.
Chunk C是第三组公共库和实用程序,需要由块A和B提供的功能.这看起来比以前更奇怪,但我仍无法改变它.
块D,E和F都需要块A,B和C提供的功能.
如果可能的话,我想确保只有一个块A,B和C的安装,它们在D,E和F的安装中共享.我已经得到了块A,和C将保留稳定的API,以便在不破坏D,E或F功能的情况下升级它们.
我的想法是为A,B和C中的组件创建合并模块,然后在D,E和F的单独安装程序提供的功能中引用它们.这会使安装程序膨胀,但它会保证安装必要的组件.不幸的是,我担心升级时会导致Windows Installer验证内部出现问题.
我的另一个想法是为A,B和C制作一个安装程序,并通过ComponentSearch在D,E和F的安装程序中要求它.
这两种想法都有意义吗?如果这两个想法都没有意义,你对正确的方法有什么建议吗?