Wix 关于安装和#x2B;升级并防止覆盖

Wix 关于安装和#x2B;升级并防止覆盖,wix,Wix,我对wix很陌生。我刚刚阅读了firegiant的文档,并创建了一个示例安装程序。我有几个问题 我可以通过wix创建一个既安装又升级的.msi吗?i、 e如果用户系统上已经存在产品,.msi应在升级模式下运行。如果产品不存在,则相同的.msi应以全新安装模式运行。如何为这样的.msi打包文件?这是否根据安装期间的条件进行 如果用户的系统有更新的文件,则安装程序不应覆盖该文件。问题是,用户系统上的这个较新文件是由用户手动更新的。当wix看到较新的文件没有绑定到任何版本的wix时,wix会让它自己处

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

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

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

  • 快速链接

    • -有助于生成WiX MSI的链接和提示的集合
    • -仅列出您可以使用的MSI工具

  • 升级:更新是MSI的内置功能。有主要升级(最常见、最可靠)、次要升级小型升级(不推荐)。如果在原始安装后再次运行相同的安装程序,则会在“维护模式”下运行

    • 主要升级本质上是卸载旧版本,重新安装新版本,并提供各种选项以确定升级顺序
    • 次要升级是对当前MSI-的就地升级

    • WiX visual studio模板具有实现正常主要升级所需的元素:

      <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
      
      
      
  • 降级:Windows Installer的设计旨在主动防止文件降级。这是为了防止dll地狱。许多人觉得这很烦人,因为他们想降低他们安装的二进制文件的等级(这不是一件好事-只需卸载最新版本并安装以前的MSI,因为以前的版本更好)。设置是文件覆盖行为的修改器


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