修补和升级
由于安装包可以包含构成应用程序的文件及其安装所需的信息,因此可以使用Windows安装程序更新应用程序。 安装程序可以在安装包的以下部分更新信息:
- .msi文件。
- 应用程序的文件。
- Windows安装程序注册信息。
更新的类型可以由更新对应用程序的错误代码、产品版本和包代码所做的更改来特征。 应用程序的产品版本存储在 ProductVersion 属性中。 应用程序的错误代码存储在 ProductCode 属性中。 应用程序的 包代码 存储在 修订号摘要 属性中。
需要将应用程序更改为另一个产品的更新才能更改应用程序的 ProductCode 。 有关需要更改 ProductCode 的更新的详细信息,请参阅 更改产品代码。 如果应用程序的未来版本需要区分当前产品的更新版本和非更新版本,则更新可以更改 ProductVersion 并保留 ProductCode 不变。 包代码唯一标识安装包,每当更新或升级更改安装包中的任何信息时,都应始终更改。
在决定是否更改产品版本时,应考虑应用程序的未来版本是否需要区分当前产品的更新版本和非更新版本。 为了确保将来的差异,应使用 次要升级 而不是 小型更新。
- 如果更新更改了.msi文件和应用程序文件,但不更改 ProductCode 属性或 ProductVersion 属性,则称为 小型更新。
- 如果更新更改 ProductVersion,但不更改 ProductCode,则称为 次要升级。
- 如果更新将安装更改为完全不同的产品, 则 ProductCode 必须更改,并且更新称为 主要升级。
下表汇总了不同类型的更新。
更新类型 | Productcode | ProductVersion | 描述 |
---|---|---|---|
小型更新 | 没有变化 | 没有变化 | 更新一两个文件,太小,无法保证更改 ProductVersion。 修订号摘要属性中的包代码确实会更改。 可以作为完整安装包或 修补程序包提供。 |
次要升级 | 没有变化 | 已更改 | 一个小的更新使更改足够重要,以确保更改 ProductVersion 属性。 可以作为完整安装包或 修补程序包提供。 |
主要升级 | 已更改 | 已更改 | 对产品进行全面更新,保证 ProductCode 属性发生更改。 作为 修补程序包 或完整产品安装包提供。 |
注意
Windows安装程序可以根据用户的访问权限、ALLUSERS 属性的值和操作系统版本,为计算机 (每台计算机上下文) 或特定用户 (每个用户上下文) 安装应用程序或更新。 应用程序开发人员应考虑安装上下文更新。 如果应用程序和更新的上下文不同,则应用程序可能不会按预期更新。
用户可以通过重新安装应用程序的 Windows Installer 包来更新应用程序。 请注意,次要 升级 可以采用与 小型更新相同的方式应用。 有关通过重新安装应用程序更新应用程序的详细信息,请参阅以下部分:
可将应用程序的更新作为Windows安装程序修补程序包提供给用户。 修补程序可以包含整个文件,也可以仅包含更新文件的一部分所需的文件位。 这意味着用户可以下载比整个产品小得多的升级修补程序,并通过升级保留用户自定义。 请注意,次要 升级 可以采用与 小型更新相同的方式应用。 有关使用修补程序更新应用程序的详细信息,请参阅以下部分: