使用单选按钮控制条件功能

时间:2016-01-25 19:46:07

标签: wix

我的问题是我想允许用户根据单选按钮选择安装可选组件组。 单选按钮和功能中指定的条件都绑定到名为" InstallType"的属性。 InstallType将设置为1以仅安装"客户端"文件,但2安装客户端和服务器文件。

条件安装基于InstallType的初始值正常工作,但是当用户更改InstallType时,将忽略新值。

以下是对话框中的代码:

<Fragment>
    <Property Id="InstallType" Value ="1"/>
    <UI>
      <Dialog
        Id ="InstallationTypeDlg" Width ="370" Height ="270" Title ="Test Install Type" NoMinimize ="no">
          <Control Id ="Text1" Type ="Text" Text ="Choose Install Type:" Height="17" Width="200" X="10" Y="15" />
          <Control Id ="InstallTypeRadioGroup" Type ="RadioButtonGroup" Property="InstallType" X="50" Y="35" Height ="40" Width ="300">
          <RadioButtonGroup Property ="InstallType">
            <RadioButton Value ="1" Text ="ClientOnly" Height ="17" Width ="90" X="0" Y="10" />
            <RadioButton Value ="2" Text ="ClientAndServer" Height ="17" Width ="90" X="0" Y="10" />
          </RadioButtonGroup>
        </Control>   
      </Dialog>
    </UI>
  </Fragment>

以下是Product.wxs中的代码:

<Feature Id="ClientOnly" Title="Client Only" Level="1">
    <ComponentGroupRef Id="ClientProductComponents" />
</Feature>
<Feature Id="ClientAndServer" Title="Client And Server" Level="0">
    <ComponentGroupRef Id="ServerProductComponents" />
      <Condition Level="1" >
        <![CDATA[InstallType = "2"]]>
      </Condition>
</Feature>   

如图所示,代码将始终安装客户端文件,但从不安装服务器。 如果将InstallType初始化为&#34; 2&#34;,则按预期安装两个组件组。 我可以通过硬编码来强制结果&#34; true&#34;或&#34;假&#34;在条件评估中。

唯一似乎没有效果的是切换单选按钮对Product.wxs中的InstallType没有影响。 如果我在单选按钮对话框下游的对话框中放置一个文本框,我可以看到InstallType包含正确的值。

我正在使用WIX 3.10和VS2015。

任何人都知道什么是错的? 所有答复都赞赏 谢谢, 沃伦

0 个答案:

没有答案