WIX升级后不删除产品文件

时间:2016-10-18 11:30:31

标签: c# .net wix wix3.10

我们使用托管引导程序。

我们的捆绑包中有两种产品(让我们称之为BundleName) - ProductAProductB。 我们安装这两种产品并且工作正常。

接下来,我们将BundleName的版本从1.0.0.0更改为2.0.0.0,将ProductA的MSI版本从1.0.0.0更改为2.0.0.0。< / p>

执行升级。它成功完成但在BundleName 1.0.0.0(应该卸载的捆绑软件的先前版本)的日志中,我们有:

Will not uninstall package: ProductA, found dependents: 1
Found dependent: {ffe63ad2-5155-4958-91cc-b0aac330cdb6}, name: BundleName
Will not uninstall package: ProductB, found dependents: 1
Found dependent: {ffe63ad2-5155-4958-91cc-b0aac330cdb6}, name: BundleName

然而,它运作良好。

我们删除已升级的2.0.0.0 BundleName时会出现问题。该捆绑包成功删除它并且日志清晰,但它不会删除ProductA的任何文件和注册表项。

我们在2.0.0.0日志中注意到的另一件事也有点奇怪:

Planned package: ProductA, state: Present, default requested: Present, ba requested: Present, execute: **MinorUpgrade**, rollback: None, cache: Yes, uncache: Yes, dependency: Register

我们更改了第一个版本的版本,因此它应该是MajorUpgrade而不是MinorUpgrade

以下是我们的配置:

<Product
   Id="$(var.ProductCode)"
   UpgradeCode="$(var.UpgradeCode)"
   Name="$(var.ProductName)"
   Language="1033"
   Version="$(var.ProductVersion)"
   Manufacturer="$(var.Manufacturer)">

<Upgrade Id="$(var.UpgradeCode)" />
<MajorUpgrade DowngradeErrorMessage="A newer version of $(var.ProductName) is already installed." 
              Schedule="afterInstallInitialize"
              AllowSameVersionUpgrades="yes" />
...

有人可以解释我们错过了什么吗?

1 个答案:

答案 0 :(得分:1)

发现问题。 let throttledProjectUpdate = _.throttle((position) => { InteractionManager.runAfterInteractions(() => dispatch(ProjectState.projectNewLongLat(position.coords.longitude, position.coords.latitude)) ); }, 5000) let watchId = navigator.geolocation.watchPosition((position) => { dispatch(sensorGeoNewPositionAction(position)) throttledProjectUpdate(position) }); 元素中的ProductCode已修复,而不是Product

How To: Implement a Major Upgrade In Your Installer

How To: Generate a GUID