自定义操作后 Wix 安装程序刷新页面
Wix installer refresh page after custom action
我正在寻找在自定义操作后刷新当前页面的方法。
我的代码
<Control Id="Config" Type="PushButton" .../>
<Publish Event="DoAction" Value="SetConfiguration"></Publish>
</Control>
可以在自定义操作之后,但我没有看到 Session 有这样的机会,或者只是向 Control 添加一些 Event 就可以了。
编辑:
好的,我有这样的想法:
<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>
但是如何在 return 结果自定义动作后创建 NewDialog。因为它现在在同一时间进行。设置 1 和 2 的订单不起作用。
这是 MSI 本机中的已知行为 UI。
我最好的解决方法是复制对话框并从原始对话框过渡到克隆对话框(或从克隆到原始对话框),这样用户看起来就像是同一个对话框,但实际上一个不同的对话框,数据将被刷新。
示例。
在 SQLDlg1 上:
<Control Id="Test" Type="PushButton" Text="&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="&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>
试试这个
<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>
我正在寻找在自定义操作后刷新当前页面的方法。
我的代码
<Control Id="Config" Type="PushButton" .../>
<Publish Event="DoAction" Value="SetConfiguration"></Publish>
</Control>
可以在自定义操作之后,但我没有看到 Session 有这样的机会,或者只是向 Control 添加一些 Event 就可以了。
编辑:
好的,我有这样的想法:
<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>
但是如何在 return 结果自定义动作后创建 NewDialog。因为它现在在同一时间进行。设置 1 和 2 的订单不起作用。
这是 MSI 本机中的已知行为 UI。
我最好的解决方法是复制对话框并从原始对话框过渡到克隆对话框(或从克隆到原始对话框),这样用户看起来就像是同一个对话框,但实际上一个不同的对话框,数据将被刷新。
示例。
在 SQLDlg1 上:
<Control Id="Test" Type="PushButton" Text="&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="&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>
试试这个
<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>