windows安装程序-如何检测Wix包正在被卸载



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

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

是否有合适的方法来检测bundle何时正在卸载?

对你的问题的直接回答是,这是一个bug,它总是0,它应该在v3.10和v4.0的最新构建中修复。

真正的答案是你应该在MSI中做所有的注册表操作,而不是引导程序。让Windows安装程序跟踪refcounting, rollback等

相关内容

  • 没有找到相关文章

最新更新