我在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它要求全新安裝。