加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

安装程序 – 当运行RemovePreviousVersion时,MSI不安装所有文件

发布时间:2020-12-13 20:11:30 所属栏目:Windows 来源:网络整理
导读:我有使用WiX版本3的MSI构建. 我们部署的产品的所有以前的安装程序使用指定的配置工作正常(即:如果以前的版本存在,删除,然后安装新版本) – 但是,我们构建的新的MSI在运行时不会安装所有文件“删除第一个”路径. 如果我们手动删除现有的安装,然后运行新版本,
我有使用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可能会解决您的问题,但您应该确保知道这将如何影响其余的安装.如果有任何文件不想被覆盖,您将需要将这些组件标记为“永不覆盖”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读