我正在使用WIX为Application Suite开发安装程序,结构是
如下:
应用核心
| _ _ Flavor1
| _ _ Flavor2
| _ _ Flavor3
Application Core是像Visual Studio这样的产品,Flavors 1,2,3是它下面的子产品。
这是我的问题,
- 在添加删除程序中应该有4个条目用于Application Core,Flavor1,Flavor2和Flavor3。
- 我应该可以重新启动添加/删除Flavor1,Flavor2和Flavor3的安装程序。
答案 0 :(得分:5)
更新:请注意,虽然Office 出现以安装单独的功能,而不是单独的产品 - 但它实际上安装了许多不在ARP中显示的单独产品。添加单独的ARP条目以启动引导程序安装程序,然后维护添加,删除和更新您在ARP中看不到的现有产品。
这些应该是功能,而不是单独的产品。以Microsoft Office套件为例,如果您安装套件,那么您在添加/删除程序中只有一个条目,而Word,Excel,Powerpoint等都只是Microsoft Office之外的“功能”,您可以通过这种方式更新它们。
但是,您可以使用自己的安装程序单独购买其中一些应用程序,在这些情况下,每个安装程序都会包含“Application Core”,使用共享组件,这样文件就不需要安装两次了每个应用程序可以彼此独立地安装/卸载。
以下是Components and Features上的Windows Installer文档的一些摘录(您可能还想阅读Organizing Applications into Components)
两个共享相同的组件 组件ID被视为多个 同一组件的实例 不管他们的实际内容如何。 只有一个实例 组件安装在用户的 电脑。几个功能或 因此,申请可能会分享一些 组件。
答案 1 :(得分:2)
通常这是通过安装一个产品来完成的,因此您可以修改(添加/删除程序)中的一个条目(选择产品,单击修改按钮)。然后,您将转到功能树,您可以在其中添加或删除功能。
如果单独的条目是硬性要求,则应创建多个MSI。但是,您可以在示例中卸载“Application Core”,保持其他安装,从而导致Flavors出现问题
答案 2 :(得分:0)
这听起来像你想要的功能,所以Sander得到我的+1。
但有时您可能需要同一产品的不同安装,例如安装在同一服务器上的培训和测试版本。在这些情况下,您需要找到一种不同的方法,here's one我提出了(请参阅回答创建实时,... )。记下有关为每个文件创建组件和通配guid的编辑,因为这简化了过程,即不需要BeforeBuild / AfterBuild技巧。