我有一个包含2个功能的小型安装项目,两个功能都是默认发布的(Level = 1)。在自定义操作的某些情况下,我想取消发布(设置Level = 4)其中一项功能。用C#编写的自定义操作。我怎么能这样做?
答案 0 :(得分:4)
您可以在哪里限制,请参阅条件表的文档并在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>