gpt4 book ai didi

installation - 运行 RemovePreviousVersion 时,MSI 不会安装所有文件

转载 作者:行者123 更新时间:2023-12-04 11:10:10 24 4
gpt4 key购买 nike

我有一个使用 WiX 版本 3 的 MSI 版本。

我们正在部署的产品的所有以前的安装程序在指定的配置下都可以正常工作(即:如果以前的版本存在,请删除,然后安装新版本) - 但是,我们构建的新 MSI 在运行时不会安装所有文件“先删除”路径。

如果我们手动删除现有安装,然后运行新版本,所有文件都会安装 - 当我检查 Orca 中的 MSI 文件时,文件和功能会显示出来,而且似乎很好。

我们尝试在打开详细和额外日志记录的情况下运行( /l*vx ),但是我们可以看到文件是否未注册和安装。

有什么想法或建议吗?这正在插入我们上墙。

最佳答案

根据默认的自定义操作序列,Windows Installer 在删除任何现有版本的软件之前确定需要安装/覆盖哪些文件。 Windows Installer 使用 REINSTALLMODE 属性的值来告诉它如何决定何时覆盖文件。如果 REINSTALLMODE 包含“o”,那么它只会安装版本不同或文件不存在的文件;只有在文件的修改日期 <= 创建日期(即文件未修改)时才会安装非版本化文件。如果 REINSTALLMODE 包含“a”,它将始终安装该文件,而不管附加到现有文件的任何版本或日期信息。

您的场景中发生的情况很可能如下:

  • Windows Installer 确定要安装的文件。它决定不需要安装某些文件(可能是因为它们已经存在并且与 MSI 中的文件版本相同或更新)。
  • 先前版本的软件被删除,包括 Windows Installer 确定不需要安装的文件。
  • Windows 安装程序会为新安装安装文件,但不会安装它确定不需要安装的文件。

  • 最终的结果是升级软件后丢失了一堆文件。设置 REINSTALLMODE=amus 而不是 omus 可能会解决您的问题,但您应该确保您知道这如何影响安装的其余部分。如果您不想覆盖任何文件,则需要将这些组件标记为“永不覆盖”。

    关于installation - 运行 RemovePreviousVersion 时,MSI 不会安装所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660531/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com