4

我的产品有两个 SKU。两者都使用 Burn 作为引导程序。我以 Pro 版本将升级和替换 Lite 版本的方式编写了 MSI。但是,一旦我将它们包在烧录中,Pro 版本会正确升级 MSI,但 Lite 安装条目仍保留在 ARP 列表中。它们都是相同的版本号,我已经设置:

<RelatedBundle Id="LITE_UPGRADE_CODE" Action="Upgrade"/>

在 Pro 捆绑包中。

有什么方法可以删除 Lite 条目吗?

4

1 回答 1

13

是的,但您需要做以下两件事之一:

(简单):使 Pro 捆绑包具有比 Lite 捆绑包更高的版本 - 只有在版本更高时才会启动升级。

(更难):使用自定义 BA 来计划与 Lite 相关的捆绑包Absent- 您可以将 Lite 捆绑包更改为RelatedBundle/@ActionDetect并且当 Lite 捆绑包出现时OnPlanRelatedBundle()将请求的状态更改为Absent。Pro 捆绑包将在应用阶段结束时删除 Lite 捆绑包。

自定义 BA 可能是解决问题的更正确方法,但如果您尚未投资自定义 BA,则工作量会更大。

祝你好运!

于 2013-05-07T23:09:47.560 回答