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

时间:2015-02-25 23:55:54

标签: c# wix windows-installer burn

目前我有一个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;
    }
}

我遇到的问题是,如果只卸载一个应用程序,则会从“添加/删除程序”中删除整个Managed Bootstrapper应用程序,并且无法再管理安装。

如何删除捆绑包直到删除所有包裹?

1 个答案:

答案 0 :(得分:1)

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