Tag: burn

如何使用WiX Burn MBA捆绑包在MajorUpgrade期间检测当前安装的function?

我正在使用WiX 3.7的Burn / Managed Bootstrapper应用程序function来创建基于MBA的自定义安装程序。 对于我的bundle链中的每个软件包,在执行MinorUpdate时,我可以轻松检测已经安装了哪些软件包function,以确保在升级期间通过使用WiX基类中为引导程序提供的这些事件来保留这些function选择: DetectPackageComplete , DetectMsiFeature , DetectRelatedBundle , DetectRelatedMsiPackage , DetectComplete 。 但是, 在MajorUpgrade期间,我只看到一种方法来确定安装了哪些软件包,但是没有看到如何确定安装了哪些function,因为DetectMsiFeature事件不会触发。 我尝试在产品的配置上使用MigrateFeatures标志,但这似乎不起作用(或者我没有正确使用它)。 在WiX中使用自定义托管引导程序应用程序执行MajorUpgrade时检测/迁移现有function的正确方法是什么? 一些文件片段: 注意:如果有帮助的话,我可以提供一个包含所有代码的完全可用的VS解决方案。 Bundle.wxs: Product.wxs: CustomBootstrapper.cs public class CustomBootstrapperApplication : BootstrapperApplication { protected override void Run() { DetectPackageComplete += HandlePackageDetected; DetectMsiFeature += HandleFeatureDetected; DetectRelatedBundle += HandleExistingBundleDetected; DetectRelatedMsiPackage += HandleExistingPackageDetected; DetectComplete += HandleDetectComplete; this.Engine.Detect(); //blocks here until […]