在REINSTALL模式下启动MSI

时间:2015-01-20 07:51:52

标签: wix windows-installer setup-project

我需要根据目标计算机上安装的版本启动MSI。 详细说明:

  • 如果MSI的版本低于当前安装的版本,则不应安装。
  • 否则应使用REINSTALLMODE = omus。
  • 进行重新安装

我知道这可以通过将MSI包装在引导程序应用程序中或使用cmd启动MSI来完成。 但是这个智能是否可以在MSI本身内实现,以便在我双击它时适当地启动它?

LaunchCondition或CustomAction会帮助实现这个目标吗?

我正在使用Visual Studio安装项目来构建我的MSI。使用WIX有助于实现这个目标吗?

谢谢, -Kunal

1 个答案:

答案 0 :(得分:0)

第一个可以在MSI内完成,但第二个不能。 MajorUpgrade Element具有实现检测和块模式的AllowDowngrades和DowngradeErrorMessage属性。

第二个是不可能的,因为一旦MSI启动它就是不可变的。您需要从引导程序(例如刻录)调用才能实现此目的。