2009-03-03 114 views
2

我使用WIX开发一个应用套件的安装程序,且结构 如下:
应用核心
        | _ _ Flavor1
        | _ _ Flavor2
        | _ _ Flavor3
WIX安装与添加多个条目/删除程序

应用程序核心是像Visual Studio一样的产品,Flavors 1,2,3是其下的子产品。

这是我的问题,
- 在添加删除程序应该有4个条目应用程序核心,Flavor1,Flavor2和,Flavor3。
- 我应该能够重新启动安装程序来添加/删除Flavor1,Flavor2和Flavor3。

+0

你可能想澄清你的意思是“结构”。您绘制依赖关系的线是?目录布局?还有别的吗? – 2009-03-03 14:44:59

回答

5

更新:注意的是,虽然办公室出现安装单独的功能,而不是单独的产品 - 它实际上安装许多独立的产品,不会在ARP中显示。添加单独的ARP条目以启动引导程序安装程序,然后保持添加,删除和更新在ARP中无法看到的现有产品。

这些应该是功能,而不是单独的产品。例如,以Microsoft Office套件为例,如果您安装套件,那么在“添加/删除程序”中只有一个条目,而Word,Excel,Powerpoint等等都只是微软Office的“功能”,您可以通过这种方式更新它们。

但是,您可以使用其自己的安装程序单独购买这些应用程序中的一部分,并且在这些情况下,每个安装程序都包含“应用程序核心”,使用共享组件,以便文件不需要安装两次并且每个应用程序可以相互独立地安装/卸载。

下面是从Components and Features Windows安装程序文档有点摘录(你也可以喜欢读Organizing Applications into Components)共享同一 组件ID

两个部件被视为多个相同的组件 的 实例不管他们的实际内容。 只有用户的 计算机上安装了任何 组件的单个实例。因此,几个功能或应用程序可能会共享某些组件。

2

通常这是通过安装一个产品来完成的,因此您可以在添加/删除程序中修改一个条目(选择产品,单击修改按钮)。然后将您带到功能树,您可以在其中添加或删除功能。

如果单独的条目是一个硬性要求,您应该创建多个MSI。但你可以在你的榜样卸载“应用核心”,保持其他安装,从而导致问题的口味

0

它听起来像你想要的功能,所以桑德得到我的+1。

但有时您可能需要安装不同的相同产品,例如安装在同一台服务器上的培训和测试版本。在这些情况下,您需要找到不同的方法,我想出了here's one(请参阅回答Create Live,...)。注意关于为每个文件创建组件和通配符的编辑,因为这简化了该过程,即不需要BeforeBuild/AfterBuild技巧。