如果正在安装另一个功能(不是组件的父功能),我有一个需要安装的组件。
在 CostFinalize 操作期间似乎评估了组件条件,因此我创建了一个属性并设置该属性的值,然后我使用自定义操作强制执行 CostInitialize 操作
但是组件仍然没有安装,有什么线索吗?
组件条件仅针对属于正在安装的功能的组件进行评估。它们只能排除组件而不能包含组件。
安装时必须使用 ComponentRef 元素使组件属于其他功能。允许组件与多个功能相关联。
<Directory....>
<Component Id="test1"...>
<Component Id="test2"...>
<Component Id="testcommon"...>
</Directory>
<Feature Id="A"...>
<ComponentRef Id="test1"/>
<ComponentRef Id="testcommon"/>
</Feature>
<Feature Id="B"...>
<ComponentRef Id="test2".../>
<ComponentRef Id="testcommon".../>
</Feature>