在自定义操作中启用/禁用功能

Enabling / disabling Feature in custom action

我有一个包含 2 个功能的小型安装项目,均默认发布(级别 = 1)。在自定义操作的某些情况下,我想取消发布(设置 Level = 4)其中一项功能。用 C# 编写的自定义操作。我该怎么做?

在哪些地方可以这样做是有限制的,请参阅条件 table 的文档并在 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>