对 CostFinalize 操作的含义感到困惑
Confused with meaning of the CostFinalize action
我希望我的自定义操作在 用户查看和修改要安装的功能后 执行安装。
我试图在 PublishProduct 之前调用我的操作(在我看来这是正确的点),但我收到了来自 WiX 的链接错误。
<InstallUISequence>
<Custom Action="ModifyConfigBeforeStartService" Before="PublishProduct"/>
</InstallUISequence>
错误是:
error LGHT0094: Unresolved reference to symbol 'WixAction:InstallUISequence/PublishProduct' in section 'Product:*'
然后我尝试在 CostFinalize 之后调用我的操作。
来自 documentation:
The CostFinalize action queries the Condition table to determine which features are scheduled to be installed.
但是(来自同一个文档):
The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections
如果尚未显示用户界面,安装程序如何检测要安装的功能?
PublishProduct 存在于执行序列中,而不是 UI 序列中。您的自定义操作的名称暗示它应该安排在 StartServices 之前(也在执行序列中)而不是 PublishProduct 操作。
文件成本核算是您需要学习的另一个重要概念,但与此处无关。我将从以下必读内容开始:
我希望我的自定义操作在 用户查看和修改要安装的功能后 执行安装。
我试图在 PublishProduct 之前调用我的操作(在我看来这是正确的点),但我收到了来自 WiX 的链接错误。
<InstallUISequence>
<Custom Action="ModifyConfigBeforeStartService" Before="PublishProduct"/>
</InstallUISequence>
错误是:
error LGHT0094: Unresolved reference to symbol 'WixAction:InstallUISequence/PublishProduct' in section 'Product:*'
然后我尝试在 CostFinalize 之后调用我的操作。 来自 documentation:
The CostFinalize action queries the Condition table to determine which features are scheduled to be installed.
但是(来自同一个文档):
The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections
如果尚未显示用户界面,安装程序如何检测要安装的功能?
PublishProduct 存在于执行序列中,而不是 UI 序列中。您的自定义操作的名称暗示它应该安排在 StartServices 之前(也在执行序列中)而不是 PublishProduct 操作。
文件成本核算是您需要学习的另一个重要概念,但与此处无关。我将从以下必读内容开始: