我有2个功能。
我需要他们一次安装一个。自定义对话框允许同时安装这两个功能,我想避免,所以我删除了“自定义”对话框(我使用“WixUI_Mondo”),我添加了一个带有2个单选按钮的自定义对话框。
<Control Id ="ConnectionType" Type="RadioButtonGroup" Property="CONPROPERTY" X="20" Y="60" Width="330" Height="100" Text="test">
<RadioButtonGroup Property="CONPROPERTY">
<RadioButton Text="!(loc.ChooseConnectionTypeDevice)" Value="network" Height="18" Width="370" X="0" Y="20" />
<RadioButton Text="!(loc.ChooseConnectionTypeUSB)" Value="usb" Height="18" Width="370" X="0" Y="40" />
</RadioButtonGroup>
</Control>
现在我想根据单选按钮的选择安装上述功能。
我尝试为我的功能添加一个条件。但它似乎无法正常工作。我想这不是在运行时工作。
<Feature Id='NetworkDevice' Level="1">
<ComponentRef Id='cmpConfig' />
<ComponentRef Id='cmpCatalog' />
<Condition Level="0"><![CDATA[CONPROPERTY<>"network"]]></Condition>
</Feature>
<Feature Id='UsbDevice' Level="1">
<ComponentRef Id='cmpConfig' />
<ComponentRef Id='cmpCatalog' />
<ComponentRef Id='cmpUsbInstallation' />
<Condition Level='0'><![CDATA[CONPROPERTY<>"usb"]]></Condition>
</Feature>
我怎样才能实现这种情况。任何人都可以给我一条路吗?
答案 0 :(得分:1)
这不会像你期望的那样工作。 &#39;条件&#39;代码中的引用最终创作MSI Condition Table entires。这些是在您的UI弹出之前评估的。你想要的是&#39;发布&#39; ControlEvents将在用户单击&#34;下一步&#34;时打开/关闭功能。按钮。像这样:
<Publish Dialog="YourDialog" Control="Next" Event="AddLocal" Value="NetworkDevice" Order="1">![CDATA[CONPROPERTY=network]]</Publish>
<Publish Dialog="YourDialog" Control="Next" Event="Remove" Value="NetworkDevice" Order="2">![CDATA[CONPROPERTY<>network]]</Publish>
<Publish Dialog="YourDialog" Control="Next" Event="AddLocal" Value="UsbDevice" Order="3">![CDATA[CONPROPERTY=usb]]</Publish>
<Publish Dialog="YourDialog" Control="Next" Event="Remove" Value="UsbDevice" Order="4">![CDATA[CONPROPERTY<>usb]]</Publish>