场景:
到目前为止,我们已经使用VS 2010安装项目。将新的构建迁移到Wix上。
发行:
Msiexec将升级视为卸载+新鲜安装,而不仅仅是升级。
详细信息:
UpgradeCode Guid。MajorUpgrade标记Upgrade和UpgradeVersion而不是MajorUpgradeNote -系统正确地识别出同一产品,并在安装过程中自动删除旧产品。
问题是,旧产品的运行方式是卸载而不是升级。我在卸载时设置了一个自定义操作,它将删除用户数据。现在的问题是,由于某种原因,这个自定义操作是在升级期间触发的。
如果是2010 to 2010或Wix to Wix,则不会发生这个问题,只有当它是时,才会发生这个问题
场景
我在日志里注意到的唯一不同-
For VS 2010至2010
Action ended: MsiUnpublishAssemblies. Return value 1.
MSI (s) (90:A4) : Skipping action: _[guid].uninstall.SetProperty (condition is false)
MSI (s) (90:A4): Skipping action: _[guid].uninstall (condition is false)
MSI (s) (90:A4) [21:54:10:299]: Doing action: UnpublishComponents
Action start 21:54:10: UnpublishComponents.2010年至WIX -
MsiUnpublishAssemblies. Return value 1.
Doing action: [guid].uninstall.SetProperty
Action start : [guid].uninstall.SetProperty.
MSI (s) (90:D4) :
Note:
1: 2235
2:
3: ExtendedType
4: SELECT `Action`,`Type`,`Source`,`Target`, NULL, `ExtendedType` FROM `CustomAction` WHERE `Action` = '[guid].uninstall.SetProperty'
MSI (s) (90:D4) : PROPERTY CHANGE: Adding [guid].uninstall property. Its value is '/installtype=notransaction /action=uninstall /LogFile= ... "[custom-action].exe" "oldmsi.tmp"'.
Action ended _[guid].SetProperty. Return value 1.
MSI (s) (90:D4) : Doing action: _[guid].uninstall
Action start : _[guid].uninstall.
MSI (s) (90:D4):
Note:
1: 2235
2:
3: ExtendedType
4: SELECT `Action`,`Type`,`Source`,`Target`, NULL, `ExtendedType` FROM `CustomAction` WHERE `Action` = '_[guid].uninstall'
Action ended: _[guid].uninstall. Return value 1.
MSI (s) (90:D4): Doing action: UnpublishComponents
Action start : UnpublishComponents.我不知道为什么会发生这种卸载。任何帮助都是非常感谢的。
发布于 2017-06-06 18:04:35
没有足够的信息可以确定,但这应该会有所帮助:
一个重大的升级总是卸载正在升级的产品。这是基于新的ProductCode、相同的UpgradeCode和增量版本以及相同的安装上下文的主要升级的定义。这意味着您的问题取决于您对“卸载自定义操作”的假设。
Visual“卸载”自定义操作并不是真正的“卸载”自定义操作。当移除组件(由组件id表示)时,将调用它们。当您从VS 2010构建到VS 2010构建时,组件id保持不变(内部参考数),组件仍然安装。同样的情况发生在WiX构建中。当您从VS 2010构建到WiX构建时,组件is可能已经更改,因此移除VS 2010构建的MSI中的组件,因此调用自定义操作。
换句话说,这个问题很可能是,您的VS 2010构建中的组件In (因为VS 2010甚至没有暗示它们的存在)与您的WiX构建中的组件in不一样。
https://stackoverflow.com/questions/44396328
复制相似问题