Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过WiX Burn引导程序运行MSI时,会话消息框不可见_Wix_Windows Installer_Custom Action_Wix3.8 - Fatal编程技术网

通过WiX Burn引导程序运行MSI时,会话消息框不可见

通过WiX Burn引导程序运行MSI时,会话消息框不可见,wix,windows-installer,custom-action,wix3.8,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" InstallCon

我正在尝试使用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>
自定义操作中的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时,消息正确显示(在按下OK之前阻止安装)。但是,当MSI通过Burn启动时,当调用显示消息时,安装程序会阻止,但消息框不会弹出。此时,安装程序将变得无响应,终止安装程序的唯一方法是使用任务管理器。一旦终止,控制将返回到Burn引导程序,并显示消息框


我是否在此处配置了错误,或者WiX(使用DisplayInternalUI=“yes”时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);