MS Installer/Wix中的依赖关系

前端之家收集整理的这篇文章主要介绍了MS Installer/Wix中的依赖关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在学习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的安装程序中要求它.

这两种想法都有意义吗?如果这两个想法都没有意义,你对正确的方法有什么建议吗?

在每个安装程序中包含A B C,并安装到公共文件. Windows Installer将处理引用计数,以便磁盘上只存在一个副本,并保留到最后一个产品被删除.升级就没问题,Windows Installer就是为这类东西设计的:)

但是,我建议使用Wixlibs而不是Merge Modules

猜你在找的设计模式相关文章