如何在安装先决条件期间显示错误

时间:2016-05-09 07:26:46

标签: installation wix bundle

使用Wix 3.10

在Windows 8.0上安装.NET 4.6时,Microsoft程序包返回错误,因为计算机缺少微软的某个kb。到目前为止还可以,但是我想在我的自定义wpf-UI中显示来自.NET安装程序的消息,但我没想到会触发什么事件。

在我的viewmodel中,我有BootstrapperApplication的当前实例,我的第一种方法不会记录任何内容:

VisualStates

日志文件显示错误:

 internal MainViewModel(BootstrapperApplication model, Action<LogLevel, string> onLoggerAction, (....))
{
  this.Model = model;
  this.Model.DetectPackageComplete += this.DetectPackageComplete;
  this.Model.DetectRelatedBundle += new EventHandler<DetectRelatedBundleEventArgs>(this.Model_DetectRelatedBundle);
  this.Model.DetectPriorBundle += new EventHandler<DetectPriorBundleEventArgs>(this.Model_DetectPriorBundle);
  this.Model.DetectRelatedMsiPackage += new EventHandler<DetectRelatedMsiPackageEventArgs>(this.Model_DetectRelatedMsiPackage);
  this.Model.DetectTargetMsiPackage += new EventHandler<DetectTargetMsiPackageEventArgs>(this.Model_DetectTargetMsiPackage);
  this.Model.Error += this.SetupError;
  [...]
}

public void SetupError(object sender, ErrorEventArgs args)
{
   this.onLoggerAction(LogLevel.Standard, string.Format("Error occured. Message: {0}", args.ErrorMessage));
   this.onLoggerAction(LogLevel.Standard, string.Format("Error occured. ErrorCode: {0}", args.ErrorCode));
   this.onLoggerAction(LogLevel.Standard, string.Format("Error occured. Type: {0}", args.ErrorType));
   this.dispatcher.BeginInvoke((Action)(() => this.ShowErrorView(args)));
}

但我该如何处理这个错误?

1 个答案:

答案 0 :(得分:0)

你已经拥有&#34; / norestart&#34;和&#34; /被动&#34;正在使用的参数,尝试使用&#34; / log C:\ pathtolog \ yourlog.log&#34;以及你可以看到出了什么问题。

在发送安装程序之前,您应该已修复所有错误,而不是全部显示。

想象一下,安装一些东西会出现成千上万的错误......