如何检测正在卸载Wix捆绑包?

时间:2015-06-04 16:43:17

标签: wix windows-installer bootstrapper burn

我有一个安装了几个msi软件包的Wix引导程序包。我想在卸载此软件包时删除一些注册表值。问题是只有在卸载整个软件包时才应删除此值(不是其中一个msi软件包)。我试着使用WixBundleAction Wix变量来检测这种情况并将其作为msiProperty传递给我的包,但它总是评估为0

<MsiPackage Id="Pac" SourceFile="$(var.so)" Compressed="yes" Vital="yes">
        <MsiProperty Name="REMOVE_REG" Value="[WixBundleAction]"/>
      </MsiPackage>

有没有正确的方法来检测捆绑包何时卸载?

1 个答案:

答案 0 :(得分:1)

你问题的直接答案是bug始终为0,应该在最新版本的v3.10和v4.0中修复。

真正的答案是你应该在MSI中进行所有注册表操作,而不是引导程序。让Windows Installer跟踪引用计数,回滚等。