Wix 自定义引导程序包-在卸载单个软件包时在添加/删除程序中保留条目

Wix 自定义引导程序包-在卸载单个软件包时在添加/删除程序中保留条目,wix,wix3.8,Wix,Wix3.8,我正在使用WIX3.8 我想有一个单一的安装界面,将显示四个应用程序。根据用户选择 必须安装/卸载/升级特定应用程序 所以我在一个自定义引导程序包中添加了四个MSI。在自定义UI中,我们显示所有四个应用程序名称 并根据用户选择设置bundle变量值。安装条件属性设置为此捆绑包变量。 此外,根据用户选择,软件包列表将更新为仅包含相关软件包。 这样,安装工作正常。在“添加/删除程序”中仅安装“添加捆绑包”项;而不是每个msi的单个条目 我还能够根据用户选择管理卸载软件包。 问题在于卸载一个msi软件

我正在使用WIX3.8 我想有一个单一的安装界面,将显示四个应用程序。根据用户选择 必须安装/卸载/升级特定应用程序

所以我在一个自定义引导程序包中添加了四个MSI。在自定义UI中,我们显示所有四个应用程序名称 并根据用户选择设置bundle变量值。安装条件属性设置为此捆绑包变量。 此外,根据用户选择,软件包列表将更新为仅包含相关软件包。 这样,安装工作正常。在“添加/删除程序”中仅安装“添加捆绑包”项;而不是每个msi的单个条目

我还能够根据用户选择管理卸载软件包。 问题在于卸载一个msi软件包时,它会从“添加/删除程序”列表中删除捆绑包的条目。 现在如何卸载其他软件包

我需要的行为是我想在添加/删除程序列表中保留bundle条目;一旦最后一个软件包也被卸载,我想删除
添加/删除程序列表中的条目。请告诉我如何实现这一点?

我将建议一种不同的方法来解决这个问题,因为在我看来,你正在使用引导程序实现一些东西,而你可能只需要一个使用FeatureTree的MSI

功能树可以列出要安装或不安装的各种类型的内容。例如,它可能会询问您是否要安装:

  • 仅框架
  • 框架和工具
  • 只有工具
  • 如果用户只选择工具,然后决定要使用框架,他们可以转到程序和功能,单击更改,然后可以从功能树中选择框架功能

    如果他们想卸载一件东西或所有东西,他们也可以这样做

    如果您控制了您提到的四个MSI,您可以将它们改为Wix库项目。这将允许您继续由不同的团队分别开发它们,但在一个MSI项目中引用它们