通过WiX Burn Bootstrapper运行MSI时,session.Message框不可见

时间:2014-07-10 17:37:45

标签: wix windows-installer custom-action wix3.8

我尝试使用Burn连续运行多个MSI,而对于其中一个MSI,我需要显示UI,因为用户必须选择各种安装选项。

<MsiPackage
  Id="SomeVisibleMsi"
  Name="$(var.SomeOtherProject.TargetName)-x86.msi"
  SourceFile="$(var.SomeOtherProject.TargetDir)\..\$(var.SomeOtherProject.TargetName)-x86.msi"
  InstallCondition="NOT VersionNT64"
  SuppressSignatureVerification="yes"
  Permanent="no"
  After="SomeOtherMsi_x86"
  DisplayInternalUI="yes"
  Vital="yes"
  Visible="yes"
  EnableFeatureSelection="yes">
</MsiPackage>

此安装程序还包含deferred Custom Action,如果在执行操作时发生某些错误,则会显示一条消息。

<CustomAction
  Id="MyCustomAction"
  BinaryKey="MyCustomAction.CA.dll"
  DllEntry="DoSomething"
  Execute="deferred"
  Return="check"
  Impersonate="no" />

自定义操作中的session.Message调用:

Record message = new Record();
message.FormatString = string.Format("MyCustomAction {0} - Uh oh, something went wrong.", DateTime.Now);
session.Message(InstallMessage.Warning | (InstallMessage)MessageButtons.OK, message);

问题

在MSI上运行MSI时,该消息显示正确(阻止安装,直到按下OK)。但是当通过Burn启动MSI时,安装程​​序会在显示消息的呼叫时阻止,但消息框不会弹出。此时安装程序无响应,终止它的唯一方法是使用任务管理器。一旦终止,控制权将返回Burn Bootstrapper并显示消息框。

我是否在此处配置了错误,或者WiX中是否支持此功能(使用DisplayInternalUI =&#34时是session.Message;是&#34;)?

0 个答案:

没有答案