首页 > 解决方案 > 在 Wix 工具集中的卸载过程中隐藏/显示控件

问题描述

我创建了一个 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>

这没用。我做错了什么??

标签: wixwindows-installeruninstallation

解决方案


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

安装和卸载对话框序列通常是分开的(基于起始对话框中的每个 Next 值),因此当对话框流是唯一的时不会出现此类问题。序列通常基于 Installed 属性开始,在设置 Installed 时从维护类型的对话框开始,在未设置 Installed 时从欢迎类型的对话框开始,每个对话框都有自己的对话框序列。


推荐阅读