【发布时间】:2015-03-22 14:31:19
【问题描述】:
我有一个包含 2 个功能的小型安装项目,默认情况下都已发布(级别 = 1)。在自定义操作的某些情况下,我想取消发布(设置级别 = 4)其中一项功能。用 C# 编写的自定义操作。我该怎么做?
【问题讨论】:
标签: wix wix3.5 wix3.6 wix3.7 wix3.8
我有一个包含 2 个功能的小型安装项目,默认情况下都已发布(级别 = 1)。在自定义操作的某些情况下,我想取消发布(设置级别 = 4)其中一项功能。用 C# 编写的自定义操作。我该怎么做?
【问题讨论】:
标签: wix wix3.5 wix3.6 wix3.7 wix3.8
在哪里可以这样做是有限制的,请参阅 Condition 表的文档并在 CostFinalize 之前执行此操作:
https://msdn.microsoft.com/en-us/library/aa368014(v=vs.85).aspx
所以假设你已经控制住了,并且你在安装的早期,然后使用功能条件。听上去,您已经有了一个级别为 1 的 Feature 元素,因此添加一个条件,当属性设置为某物时将其设置为 4。在您的代码中只需设置属性,级别将在 CostFinalize 处更改。
例子:
Feature Id="FeatureX" Title="Feature X" Level="1"
<Condition Level="4"> <![CDATA[PROPVALUE=5]]> </Condition>
【讨论】: