替换现有文件

不必要的文件复制会拖慢安装速度,因此 Windows Installer 会先确定是否已安装组件的密钥文件,然后再尝试安装任何组件的文件。 如果安装程序找到与目标位置中安装的组件密钥文件同名的文件,它会比较两个密钥文件的版本、日期和语言,并使用文件版本控制规则确定是否安装该包提供的组件。 如果安装程序确定需要根据密钥文件替换组件,它会使用每个已安装的文件上的文件版本控制规则来确定是否要替换该文件。

请注意,使用已经过版本控制的文件创作安装包时,File 表的 Version 列中的版本字符串必须始终与该包中具有的文件版本相同。

可使用 REINSTALLMODE 属性来替代或修改默认的文件版本控制规则。 在安装、重新安装或修复文件时,安装程序使用 REINSTALLMODE 属性指定的文件版本控制规则。 以下示例演示安装程序如何应用默认的文件版本控制规则。 REINSTALLMODE 属性的默认值为“omus”。

在重新安装组件之前,会先在系统上安装以下组件密钥文件。

文件 版本 创建日期 修改日期 语言
FileA 1.0.0000 1/1/99 1/1/99 ENG
FileB 2.0.0000 1/1/99 1/1/99 ENG
FileC 1.0.0000 1/1/99 1/1/99 ENG
FileD 1.0.0000 1/1/99 1/2/99 ENG
FileE 1/1/99 1/1/99
FileF(已修改 > 创建)
1/1/99 1/2/99
FileG 1.0.0000 1/1/99 1/1/99 ENG
FileH 1.0.0000 1/1/99 1/1/99 ENG、FRN、SPN
FileI 1.0.0000 1/1/99 1/1/99 ENG、FRN
FileJ 1.0.0000 1/1/99 1/1/99 ENG、GER、ITN

 

安装包中具有以下组件密钥文件。

文件 版本 创建日期 修改日期 语言
FileA(标记为相同)
1.0.0000 1/1/99 1/1/99 ENG
FileB(更低版本)
1.0.0000 1/1/99 1/1/99 ENG
FileC(更高版本)
2.0.0000 1/1/99 1/1/99 ENG
FileD(更高版本)
2.0.0000 12/31/98 1/10/99 FRN
FileE(标记为相同)
1/1/99 1/1/99
FileF(新文件)
1/3/99 1/3/99
FileG(新语言)
1.0.0000 1/1/99 1/1/99 FRN
FileH(新语言)
1.0.0000 1/1/99 1/1/99 ITN,ENG,GER
FileI(更多语言)
1.0.0000 1/1/99 1/1/99 ENG、FRN、SPN
FileJ(更少语言)
1.0.0000 1/1/99 1/1/99 GER

 

重新安装组件后,以下组件密钥文件将保留在系统上。 密钥文件的状态决定了组件中任何其他文件的状态。

文件 版本 创建日期 修改日期 语言
FileA(原始) 1.0.0000 1/1/99 1/1/99 ENG
FileB(原始) 2.0.0000 1/1/99 1/1/99 ENG
FileC(替换) 2.0.0000 1/1/99 1/1/99 ENG
FileD(替换) 2.0.0000 12/31/98 1/10/99 FRN
FileE(替换) 1/1/99 1/1/99
FileF(原始) 1/1/99 1/2/99
FileG(替换) 1.0.0000 1/1/99 1/1/99 FRN
FileH(替换) 1.0.0000 1/1/99 1/1/99 ITN,ENG,GER
FileI(替换) 1.0.0000 1/1/99 1/1/99 ENG、FRN、SPN
FileJ(原始) 1.0.0000 1/1/99 1/1/99 ENG、GER、ITN

 

安装过程中的 CRC 检查