为什么这个WiX错误对话框导致错误"next pointers do not form a single loop"



我的主Product.wxs文件中引用了一个错误对话框(库的一部分-ErrorDialog.wxs)。我的安装程序没有任何问题,直到我添加了.NET 4的要求,并尝试在没有.NET 4 的VM上运行安装程序

<Condition Message= "You must install Microsoft .NET Framework 4.0 or higher.">
   <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>    

现在,当我达到这个条件时,我没有像预期的那样显示错误消息,而是得到"错误2834:对话框上的下一个指针ErrorDialog不形成单个循环"

我在底部包含了我的ErrorDialog。我是WiX的新手,并试图遵循错误对话框所需的文档。有什么想法为什么不起作用吗?

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Fragment>
    <UI>
      <Property Id="ErrorDialog" Value="ErrorDialog"/>
      <Dialog Id="ErrorDialog" Width="370" Height="270" Title="[ProductName]" ErrorDialog="yes">
        <Control Id="ErrorText" Type="Text" X="4" Y="71" Width="341" Height="80" TabSkip="no"/>
        <Control Id="A" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="Abort">
          <Publish Event="EndDialog" Value="ErrorAbort">1</Publish>
        </Control>
        <Control Id="I" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="Ignore">
          <Publish Event="EndDialog" Value="ErrorIgnore">1</Publish>
        </Control>
        <Control Id="C" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="Cancel">
          <Publish Event="EndDialog" Value="ErrorCancel">1</Publish>
        </Control>
        <Control Id="N" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="No">
          <Publish Event="EndDialog" Value="ErrorNo">1</Publish>
        </Control>
        <Control Id="O" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="OK">
          <Publish Event="EndDialog" Value="ErrorOk">1</Publish>
        </Control>
        <Control Id="R" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="Retry">
          <Publish Event="EndDialog" Value="ErrorRetry">1</Publish>
        </Control>
        <Control Id="Y" Type="PushButton" X="300" Y="240" Width="56" Height="17" TabSkip="yes" Text="Yes">
          <Publish Event="EndDialog" Value="ErrorYes">1</Publish>
        </Control>
        <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="Banner" />
        <Control Id="Banner" Type="Line" X="0" Y="44" Width="370" Height="0" />
        <Control Id="Bottom" Type="Line" X="0" Y="234" Width="370" Height="0" />
        <Control Id="Title" Type="Text" X="15" Y="6" Width="340" Height="15" Transparent="yes" NoPrefix="yes" Text="An Error Occurred." />        
      </Dialog>
    </UI>
  </Fragment>
</Wix>

我有一个类似的错误,我通过删除除ErrorText控件之外的所有控件上的TabSkip="no"来修复它。

相关内容

最新更新