Wix安装程序在自定义操作后刷新页面

问题描述 投票:0回答:1

我正在寻找一种方法来刷新当前页面后的自定义动作。

我的代码

<Control Id="Config" Type="PushButton" .../>
    <Publish Event="DoAction" Value="SetConfiguration"></Publish>
</Control>

可以在自定义动作后,但我没看到Session有这样的机会,或者只是在Control中添加一些Event就可以了。

编辑:我的想法是这样的

好吧,我有一些类似的想法,但如何在返回结果后创建NewDialog的自定义动作。

<Control Id="Config" Type="PushButton" X="120" Y="243" Width="56" Height="17" Default="yes" Text="Config" >
   <Publish Event="DoAction" Value="SetConfiguration" Order="1"></Publish>
   <Condition Action="disable">EndConfig = "true"</Condition>
   <Condition Action="enable">EndConfig = "false"</Condition>
   <Publish Event="NewDialog" Value="IISconfiguration2">EndConfig="true</Publish>
</Control>

但如何在返回结果后创建NewDialog的自定义动作?因为它现在做在这同一时间。设置1和2的顺序不工作。

wix custom-action
1个回答
1
投票

试试这个

<Control Id="Config" Type="PushButton" X="120" Y="243" Width="56" Height="17" Default="yes" Text="Config" >
    <Publish Event="DoAction" Value="SetConfiguration">1</Publish>
    <Condition Action="disable">EndConfig = "true"</Condition>
    <Condition Action="enable">EndConfig = "false"</Condition>
    <Publish Event="NewDialog" Value="IISconfiguration2">2</Publish>
</Control>

1
投票

这是MSI原生UI中的一个已知行为。

我有的最好的解决方法是克隆一个对话框,然后从原来的对话框过渡到克隆对话框(或者克隆到原来的对话框),这样对用户来说就像同一个对话框,但实际上它是一个不同的对话框,数据会被刷新。

举个例子。

在SQLDlg1上。

  <Control Id="Test" Type="PushButton" Text="&amp;Test" TabSkip="no" Default="yes" Height="17" Width="56" X="283" Y="195">
      <Publish Event="NewDialog" Value="SQLDlg2">1</Publish>
      <Publish Event="DoAction" Value="ValidateDatabase">1</Publish>
    </Control>

在SQLDlg2上:

<Control Id="Test" Type="PushButton" Text="&amp;Test" TabSkip="no" Default="yes" Height="17" Width="56" X="283" Y="195">
      <Publish Event="NewDialog" Value="SQLDlg1">1</Publish>
      <Publish Event="DoAction" Value="ValidateDatabase">1</Publish>
    </Control>

在下一个对话框中,我也会清除属性,以防他们点击回来。

<Publish Dialog="VerifyReadyDlg" Control="Back" Property="DatabaseValid" Value="{}">1</Publish>
  <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="SQLDlg">1</Publish>
© www.soinside.com 2019 - 2024. All rights reserved.