在Wix Toolset中的卸载过程中隐藏/显示控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Wix Toolset中的卸载过程中隐藏/显示控件相关的知识,希望对你有一定的参考价值。

我创建了一个WiX安装程序,并希望在用户完成卸载或安装过程时隐藏或显示最后一个屏幕中的控件。

<Control Id="cbxOpenURL" Type="CheckBox" X="135" Y="160" Width="10" Height="10" Property="OPENURLONEXIT" CheckBoxValue="1">
       <Condition Action="hide">REMOVE</Condition>
       <Condition Action="show">NOT REMOVE</Condition>
</Control>

<Control Id="txtOpenURL" Type="Text" X="150" Y="160" Width="160" Height="20" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDlgOpenurlCheck)" >
              <Condition Action="hide">REMOVE</Condition>
              <Condition Action="show">NOT REMOVE</Condition>
            </Control>

这是行不通的。我做错了什么?

答案

直到InstallValidate操作之后才会设置REMOVE属性,这是在UI对话框之后。

安装和卸载对话框序列通常是独立的(基于起始对话框中的每个Next值),因此当对话框流是唯一的时,不会出现此类问题。序列通常基于Installed属性启动,从设置Installed时的Maintenance类型对话框开始,并在未设置Installed时使用Welcome类型对话框,每个对话框都有自己的对话框序列。

以上是关于在Wix Toolset中的卸载过程中隐藏/显示控件的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 wix 自定义引导程序卸载 UI 在升级过程中显示

wix toolset将 cab 打包进msi

在卸载期间显示来自 C# 自定义操作的 WiX 对话框

卸载时未删除Windows服务(WIX 3)

无需卸载的 Wix 安装程序升级

WIX 自定义卸载操作失败