如何在WiX中至少要求两个可选组件中的一个?

Mic*_*ray 5 installer wix wix3

我正在使用WixUIFeatureTree为用户提供他们想要安装的应用程序的哪些组件的选项...我的一个功能有两个可选功能,其中至少必须安装其中一个才能使程序正常工作.我不想强迫用户安装任何一个,但我不知道如何强迫他们选择至少一个.

这是我目前WXS的相关部分:

    <Feature Id="Main" Title="Product Name" Level="1" Absent="disallow" Display="expand" AllowAdvertise="no"
             Description="This is the application, and is a required component"
             >
        <ComponentRef Id="Baseline" />
        <ComponentRef Id="Shortcuts" />
        <Feature Id="Option1" Title="Plugin #1" Level="2" Absent="allow" AllowAdvertise="no">
            <ComponentRef Id="Plugin1Component" />
        </Feature>
        <Feature Id="Option2" Title="Plugin #2" Level="3" Absent="allow" AllowAdvertise="no">
            <ComponentRef Id="Plugin2Component" />
        </Feature>
    </Feature>
Run Code Online (Sandbox Code Playgroud)

我猜我需要在序列的正确位置插入一些自定义动作,保证选择一个或另一个进行安装,但不知道如何做到这一点,或者它是否正确.所有帮助赞赏!

i_a*_*orf 2

我认为您实际上想要在这里做的是在 <Publish> 元素中为“下一步”按钮添加一个条件,以便在满足您的条件之前不启用它。就像是:

<Publish Dialog="..." Control="Next" Event="NewDialog" Value="...">OptionalPkg1Selected OR OptionaloPkg2Selected</Publish>
Run Code Online (Sandbox Code Playgroud)

我不知道如何根据检查的组件设置这些条件,尽管必须有某种方法来做到这一点,以便稍后安装正确的组件......