我们当前使用vdproj创建的安装项目需要迁移到WiX。在这个过程中,我们面临着将现有的vdproj msi升级到WiX msi的问题。现有实现在Installer的'BeforeUninstall‘事件上执行一些操作,该事件不应在升级时调用,但在使用WiX msi时,此操作将被调用。如何在使用WiX installer升级时跳过此事件?
我尝试过设置诸如“PREVIOUSVERSIONSINSTALLED”、“NEWERPRODUCTFOUND”之类的属性,但操作仍被调用。
发布于 2015-03-19 00:32:31
如果您在WiX中进行重大升级,则应该使用MajorUpgrade元素。如果正在进行升级,它将设置WIX_UPGRADE_DETECTED属性,如下所示:
http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html
我强烈建议您远离运行自定义操作代码的installer类方法,并查看DTF托管代码自定义操作。我不知道您是否可以从WiX调用安装程序类,因为在VS中,它们依赖于Visual Studio专有的基础设施( installutilb Dll)。
https://stackoverflow.com/questions/29092482
复制相似问题