为什么这个WiX错误对话框导致错误“下一个指针不形成一个循环”

时间:2014-09-16 20:14:39

标签: wix installer windows-installer

我目前在我的主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>

1 个答案:

答案 0 :(得分:1)

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