【问题标题】:Questions on Install+upgrade and prevent overwriting关于安装+升级和防止覆盖的问题
【发布时间】:2019-09-11 04:35:22
【问题描述】:

我对 wix 很陌生。我刚刚阅读了有关 firegiant 的文档并创建了一个示例安装程序。我有几个问题。

  1. 我可以通过 wix 创建一个 .msi 来安装和升级吗?即如果用户系统上已经存在产品,.msi 应该在升级模式下运行。如果该产品不存在,相同的 .msi 应该以全新安装模式运行。如何为这样的 .msi 打包文件?这是否根据安装期间的条件工作

  2. 如果用户的系统有较新的文件,则安装程序不应覆盖它。问题是,用户系统上的这个较新文件是由用户手动更新的。当 wix 看到较新的文件未绑定到任何版本的 wix 时,wix 会不理会它吗?

【问题讨论】:

  • 注意:“Windows Installer”是 Windows 的一部分,是执行引擎。它与“我可以”问题相关。 “WiX 工具集”是包的构建器。它与“如何”问题相关。 (与其他一些构建器不同,WiX 的设计目标是构建 Windows Installer 可以使用的任何合理的包。)我只是指出这一点,因为您可能会在 Windows Installer 文档中找到一些问题的答案。
  • 哇!使用“如何”标签让事情变得更容易找到,这是一个很好的指针,谢谢!

标签: wix


【解决方案1】:

快速链接


  1. 升级:升级是 MSI 的内置功能。有大升级(最常见和最可靠的)、小升级小升级(不推荐)。如果在原始安装后再次运行相同的设置,它将以“维护模式”运行。

  2. 降级:Windows Installer 的file versioning rules 旨在主动防止文件降级。 Installshield has an article on the topic。这是为了防止 dll-hell。许多人觉得这很烦人,因为他们想降级他们安装的二进制文件(这不是一件好事 - 只需卸载最新版本并为以前的版本安装以前的 MSI 会更好)。设置REINSTALLMODE property 是文件覆盖行为的修饰符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    相关资源
    最近更新 更多