【问题标题】:Launch MSI in REINSTALL mode在重新安装模式下启动 MSI
【发布时间】:2015-03-18 08:58:01
【问题描述】:

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

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

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

LaunchCondition 或 CustomAction 是否有助于实现这一目标?

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

谢谢, -库纳尔

【问题讨论】:

  • 你认为你正在解决什么问题?您在 Visual Studio 设置中,只需执行 RemovePreviousVersions 升级以替换任何旧版本,这也将是新客户端的全新安装。

标签: wix windows-installer setup-project


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多