Wix:显示条件消息框而不取消

Jak*_* S. 10 wix

是否有某种方式显示消息框由于某些条件但继续安装?

如果他有更少的内存,我想通知用户有关建议的内存量.

如果我使用

<Condition Message="For running $(var.ProductName), 4GB of physical memory are recommended.">
    <![CDATA[PhysicalMemory > 3500]]>
</Condition>
Run Code Online (Sandbox Code Playgroud)

RAM少于4GB的计算机上的安装不成功.

我怎么能避免这个?

谢谢你的帮助!

Jak*_* S. 11

感谢Cosmin Pirvu的回答,我发现以下解决方案custom actions适合我,我想与您分享:

<Custom Action="PhysicalMemoryWarning" After="InstallInitialize" />
<CustomAction Id="PhysicalMemoryWarning" Script="vbscript">
  <![CDATA[
  If session.Property("PhysicalMemory") < 3500 Then
    MsgBox("For running $(var.ProductName), 4GB of physical memory are recommended.")
  End If
  ]]>
</CustomAction>
Run Code Online (Sandbox Code Playgroud)

  • 最好还使用session.Message - http://msdn.microsoft.com/en-us/library/windows/desktop/aa371672(v=vs.85).aspx - 而不是MsgBox.这将有助于保持窗口养育和焦点正确. (7认同)
  • 正确,如果您使用session.Message,它将正确地成为父项,这样它就不会在MSI主窗口后面。我链接到的VB API只是MsiProcessMessage的包装-http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa370354(v=vs.85).aspx-其“请参见”链接是有用-http://msdn.microsoft.com/zh-CN/library/windows/desktop/aa371614(v=vs.85).aspx (2认同)