如何根据MSI WIX中选择的功能更新配置文件值?

时间:2019-01-07 10:47:32

标签: wix windows-installer

我有一个MSI安装程序,我想在其中更新我的应用程序配置值。更新值没有问题。问题在于值将是有条件的,如下所述。我在安装程序中具有以下三个功能:

    <Feature Id="Standalone" Title="Standalone" Level="2" Description="Standalone Deployment">
    </Feature>

     <Feature Id="SeplaAlone" Title="Seplalone" Level="2" Description="Standalone Deployment">

    </Feature>
    <Feature Id="RefaAlone" Title="ReflaAlone" Level="2" Description="Standalone Deployment">

    </Feature>

这是我的配置文件更新代码:

<util:XmlFile Id="UpdateOption" Action="setValue" File="$(var.erviceDir)\$(var.ServiceConfigFile)"
                      ElementPath="/configuration/appSettings/add[\[]@key='Option'[\]]/@value"
                      SelectionLanguage="XPath" Permanent="yes" Value="[This is the value i want to set]"/>

用户一次只能选择一项功能(已实现)。现在我想要的是,如果用户选择独立功能,那么值将为“ 0”。如果用户选择seplaAlone功能,则值将为“ 1”,如果用户选择了最后一个功能,则值将为“ 2”。我尝试这样做,但是没有任何效果。另外,我在功能内容中定义了具有所需值的相同变量,但我不起作用。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我将添加一个自定义对话框,这些功能以单选按钮选择表示。该自定义对话框将设置一个属性,例如FEATURE_SELECTION(您可以查看wix文档如何使用分组的单选按钮控件)。

然后,util:XmlFile的Value属性将类似于此Value =“ [FEATURE_SELECTION]”