安装程序 – 当运行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可能会解决您的问题,但您应该确保知道这将如何影响其余的安装.如果有任何文件不想被覆盖,您将需要将这些组件标记为“永不覆盖”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-8 – 在Visual Studio 2012中发布MVC项目导致空文件
- Windows SuspendThread不? (GetThreadContext失败)
- Filezilla客户端无法从Filezilla Server获取目录列表(Windo
- 在另一个wpf窗口中有一个wpf窗口
- Microsoft SQL Server备份physical_device_name
- windows – Git如何从UNC路径获取更改?
- windows安装android开发平台
- windows-phone-7 – WP7音频/视频文件选择器
- win10下安装mathtype出现“无法加载此加载程序 MathPage.wl
- windows-phone-8 – 如何在Windows Phone 8真实设备上设置假