【发布时间】:2015-07-30 20:42:46
【问题描述】:
我继承了一个现有产品,该产品利用了一个 WiX 托管引导程序应用程序,其行为有点可疑。引导程序中的逻辑在安装计划阶段之前多次调用BurnBootstrapper.Engine.Detect()。这种行为正确吗?从逻辑上讲,似乎 Detect 应该只被调用一次。如果Detect应该只调用一次,那么多次调用除了浪费时钟周期之外还有什么坏处吗?
【问题讨论】:
我继承了一个现有产品,该产品利用了一个 WiX 托管引导程序应用程序,其行为有点可疑。引导程序中的逻辑在安装计划阶段之前多次调用BurnBootstrapper.Engine.Detect()。这种行为正确吗?从逻辑上讲,似乎 Detect 应该只被调用一次。如果Detect应该只调用一次,那么多次调用除了浪费时钟周期之外还有什么坏处吗?
【问题讨论】:
每次调用 Detect 时,Burn 引擎都会执行所有搜索并评估检测条件。多次调用它并没有什么坏处,尽管多次调用它并没有在调用之间发生一些有趣的事情(比如用户输入或可能已经安装其中一种产品的大量时间)同时)。
【讨论】: