1

我正在使用 WIX 为应用程序套件开发安装程序,结构如下:
应用程序核心
    |_ _ Flavor1
    |_ _ Flavor2
    |_ _ Flavor3

Application Core 是一个类似 Visual Studio 的产品,Flavor 1,2,3 是它的子产品。

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

4

3 回答 3

5

更新:请注意,虽然 Office似乎安装了单独的功能,而不是单独的产品 - 它实际上安装了许多不显示在 ARP 中的单独产品。添加了一个单独的 ARP 条目以启动引导程序安装程序,然后维护添加、删除和更新您在 ARP 中看不到的现有产品。

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

但是,您可以使用它们自己的安装程序单独购买其中一些应用程序,在这些情况下,您所说的“应用程序核心”包含在每个安装程序中,使用共享组件,因此文件不需要安装两次,每个应用程序都可以彼此独立安装/卸载。

以下是关于组件和功能的 Windows Installer 文档的一小段摘录(您可能还想阅读将应用程序组织成组件

共享相同组件 ID 的两个组件被视为同一组件的多个实例,而不管它们的实际内容如何。用户计算机上仅安装任何组件的单个实例。因此,几个功能或应用程序可能共享一些组件。

于 2009-03-04T00:00:46.787 回答
2

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

如果单独的条目是硬性要求,则应创建多个 MSI。但是你可以在你的例子中卸载“应用程序核心”,保持其他人安装,从而导致口味问题

于 2009-03-03T19:00:00.037 回答
0

听起来您确实想要功能,所以 Sander 得到了我的 +1。

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

于 2009-04-02T15:15:42.357 回答