繁体   English   中英

根据用户选择使用wix安装程序中的复选框来安装功能

[英]Feature to be installed depending upon user selection using checkbox in wix installer

我在wix中创建了具有3个复选框的对话框。 用户可以一次选择一个或全部。 根据复选框的选择,需要选择并安装功能。

假设我有3个应用程序(ABC,DEF,GHI),并且这些功能在带有条件语句的功能中定义。

<Control Id="ABC" Type="CheckBox" X="190" Y="110" Width="50" Height="17" Property="PQR" CheckBoxValue="1" Text="ABC">

同样,对于其他2个应用程序,我也具有复选框控件。

现在,我有以下3个功能。

<Feature Id="abc" Title="ABC" Level="0">
  <Condition Level="1"><![CDATA[PQR="1"]]></Condition>
  <ComponentRef Id="InstallABC"/>
</Feature>

我不想在product.wxs中将PQR添加为属性,因为我不希望默认情况下选中此复选框。

是否可以使用自定义操作来执行此操作?

任何答案或建议将不胜感激。

您需要将功能发布为AddLocal,并且明确地需要在添加AddLocal之前调用全部删除。 在“下一步”按钮上,您需要编写这些代码。

<Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" >
          <Publish Event="Remove" Value="ALL" Order="1">1</Publish>
          <Publish Event="AddLocal" Value="Feature1">CheckBox1="1"</Publish>
          <Publish Event="AddLocal" Value="Feature2">CheckBox2="1"</Publish>
</Control>

接下来,该功能将如下所示。

<Feature Id="Feature1" Title="ABC">
  <ComponentRef Id="InstallABC"/>
</Feature>

注意:-功能不应该具有Level元素,也不要在Product.wxs之类的任何地方显式添加CheckBox的任何属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM