WiX Managed Bootstrapper,多次调用 BurnBootstrapper.Engine.Detect()

WiX Managed Bootstrapper, calling BurnBootstrapper.Engine.Detect() multiple times

我继承了一个现有产品,该产品使用 WiX Managed Bootstrapper 应用程序,其行为有点可疑。在安装的计划阶段之前,引导程序中的逻辑多次调用 BurnBootstrapper.Engine.Detect()。这种行为是否正确?从逻辑上讲,Detect 似乎只应调用一次。如果 Detect 应该只调用一次,那么除了浪费时钟周期外,多次调用它还有什么坏处吗?

每次调用 Detect 时,Burn 引擎都会执行所有搜索并评估检测条件。多次调用它没有什么坏处,尽管在调用之间没有发生一些有趣的事情(比如用户输入或其中一个产品可能已经安装了很长时间)的情况下多次调用它真的没有意义同时)。