如何允许部分卸载 WiX Burn Bundle?

How to allow WiX Burn Bundle to be partially uninstalled?

目前我有一个 WiX/Burn 自定义托管引导程序应用程序,允许用户有选择地安装和卸载不同的 MsiPackages。处理它的代码看起来像这样。

private void PlanPackageBegin(object sender, PlanPackageBeginEventArgs args)
{
    var app = applicationViewModels.FirstOrDefault(app => app.PackageID == args.PackageId);
    if (app == null)
    {       
        return;
    }

    switch (Mode)
    {                    
        case InstallMode.Install:
            if (!app.Install)
            {
                e.State = RequestState.None;
            }
            break;
        case InstallMode.Uninstall:
            if (!app.Uninstall)
            {
                e.State = RequestState.None;
            }
            break;
        case InstallMode.Repair:
            if (!app.Repair)
            {
                e.State = RequestState.None;
            }
            break;
    }
}

我遇到的问题是,如果只卸载一个应用程序,那么整个托管引导程序应用程序都会从​​ Add/Remove 程序中删除,并且无法再管理安装。

如何强制保留捆绑包,直到它的所有包都被删除?

调用计划和应用时使用修改操作。