【问题标题】:Wix Custom Action Property Not Immediately AvailableWix 自定义操作属性不立即可用
【发布时间】:2019-01-24 23:32:08
【问题描述】:

我有一个设置属性的 Wix VBScript 自定义操作,然后是一个应该根据设置属性的值触发的发布事件。问题似乎是该属性未设置,进而未触发下一个发布事件。有没有人成功做过类似的事情?

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:hsi="http://schemas.hyland.com/wix/UtilityExtension">

  <Fragment>    
    <Property Id="FOO" Value="0" Secure="yes" />

    <CustomAction Id="Test3" Script="vbscript">
      <![CDATA[
      MsgBox Session.Property("FOO")
      ]]>
    </CustomAction>

    <CustomAction Id="Test2" Script="vbscript">
      <![CDATA[
      MsgBox "Test"

      ]]>
    </CustomAction>

    <CustomAction Id="Test1" Script="vbscript">
      <![CDATA[
      Session.Property("FOO") = "1"
      ]]>
    </CustomAction>
  </Fragment>
  <Fragment>
    <UI>
      <DialogRef Id="WarningModalDlg"/>

      <Dialog Id="BaseLawsonWebServerDlg" Width="370" Height="270" Title="Lawson LOB Broker Relay Setup">
        <Control Id="label" Type="Text" X="20" Y="50" Width="200" Height="16" Text="Test" TabSkip="yes" Transparent="yes" />

        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)">
          <Publish Order="1" Event="DoAction" Value="Test3">1</Publish>
          <Publish Order="2" Event="DoAction" Value="Test2">FOO = "1"</Publish>
          <Publish Order="3" Event="DoAction" Value="Test1">1</Publish>

        </Control>

        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)"/>
        <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
          <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
        </Control>

      </Dialog>
    </UI>
  </Fragment>
</Wix>

Event="DoAction" Value="Test1" 着火了,我已经测试过了。 Event="DoAction" Value="Test2"&gt;FOO = "1" 没有命中。那么Event="DoAction" Value="Test3"&gt;1&lt;/Publish&gt;肯定会命中并显示默认值的消息框。

提前谢谢!

【问题讨论】:

    标签: properties wix custom-action


    【解决方案1】:

    我想通了!我已经习惯了 UI Dialog Publish 事件的相反顺序,所以我对 Control 发布事件做了同样的事情。

    控制发布事件按 1 到 x 的顺序移动。

    发布事件应如下所示:

     <Publish Order="1" Event="DoAction" Value="Test1">1</Publish>
     <Publish Order="2" Event="DoAction" Value="Test2">FOO = "1"</Publish>
     <Publish Order="3" Event="DoAction" Value="Test3">1</Publish>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 2011-05-13
      相关资源
      最近更新 更多