【发布时间】:2010-09-16 18:21:09
【问题描述】:
如果正在安装另一个功能(不是组件的父功能),我有一个组件需要安装。
组件条件似乎在 CostFinalize 操作期间进行了评估,因此我创建了一个属性并设置了该属性的值,然后我使用自定义操作强制执行 CostInitialize 操作
但组件仍然没有安装,有什么线索吗?
【问题讨论】:
如果正在安装另一个功能(不是组件的父功能),我有一个组件需要安装。
组件条件似乎在 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>
【讨论】: