我在wix包中有2个msi我正在使用wix 3.7的自定义引导程序。我的安装,卸载和取消命令完美地工作。当我试图给添加/删除msi捆绑使用功能:如何从包含多个MSI(如安装项目的添加/删除功能)的wix定制引导程序包安装/卸载单个msi?
this.ModifyCommand = new DelegateCommand(() => this.model.PlanAction(LaunchAction.Modify),() => this.state == InstallState.Present);
它不按预期方式工作。我使用下面的代码来检测包
protected void DetectPackageComplete(object sender,DetectPackageCompleteEventArgs e)
{
//System.Diagnostics.Debugger.Launch();
if (e.PackageId.Equals("Setup1.msi", StringComparison.Ordinal))
{
this.State = e.State == PackageState.Present ? InstallState.Present : InstallState.NotPresent;
this.model.LogMessage("Setup1.msi"+this.State.ToString());
}
if (e.PackageId.Equals("Setup2.msi", StringComparison.Ordinal))
{
this.State = e.State == PackageState.Present ? InstallState.Present : InstallState.NotPresent;
this.model.LogMessage("Setup2.msi" + this.State.ToString());
}
}
后重新安装我的UI显示添加选项/删除,删除,修复,利用我可以从我的包卸载单微星重新安装下一个安装,但下一次它不检测剩余的包裹。
如果我不安装setup2.msi它显示添加/删除屏幕,但修改按钮被禁用,如果我卸载setup1.msi它要求全新安装。