修补和升级

由于安装包可能包含构成应用程序的文件以及安装所需的信息,因此 Windows Installer 可用于更新应用程序。 安装程序可以更新安装包的以下部分中的信息:

  • .msi 的文件。
  • 应用程序的文件。
  • Windows Installer 注册信息。

更新类型可通过更新对应用程序的产品代码、产品版本和包代码所做的更改来表征。 应用程序的产品版本存储在 ProductVersion 属性中。 应用程序的产品代码存储在 " ProductCode " 属性中。 应用程序的 包代码 存储在 修订号摘要 属性中。

若要更改应用程序的 ProductCode ,需要将应用程序更改为其他产品的更新。 有关哪些更新需要更改 ProductCode 的详细信息,请参阅 更改产品代码。 如果应用程序的未来版本需要区分当前产品的更新版本和 nonupdated 版本,则更新可能会更改 ProductVersion使其保持 不变。 如果更新或升级更改了安装包中的任何信息,则 包代码 将唯一标识安装包,并且应始终更改。

决定是否更改产品版本时,应考虑应用程序的未来版本是否需要区分当前产品的更新版本和 nonupdated 版本。 为了确保将来的差异,应使用 次要升级 而不是 小型更新

备注

为了确保将来能够区分当前产品的版本,应使用 小规模升级 ,而不是 小型更新

下表汇总了不同类型的更新。

更新类型 Productcode ProductVersion 说明
小型更新 没有变化 没有变化 对一个或两个文件的更新,该文件太小,不能更改 ProductVersion修订号摘要属性中的包代码发生更改。 可以作为完整安装包或 修补程序包来发运。
次要升级 没有变化 已更改 较小的更新使得更改的重要程度足以保证更改 ProductVersion 属性。 可以作为完整安装包或 修补程序包来发运。
主要升级 已更改 已更改 产品的全面更新 warranting 在 " ProductCode " 属性中进行更改。 作为 修补程序包 或完整产品安装包提供。

备注

Windows Installer 可以为计算机的所有用户安装应用程序或更新 (每个计算机的上下文) 或针对特定用户 (每个用户的上下文) 具体取决于用户的访问权限、 ALLUSERS属性的值和操作系统的版本。 应用程序开发人员应考虑将安装哪些上下文更新。 如果应用程序和更新的上下文不同,则应用程序可能不会按预期进行更新。

用户可以通过重新安装应用程序的 Windows Installer 包来更新应用程序。 请注意,可以采用与小型更新相同的方式来应用次升级。 有关通过重新安装应用程序更新应用程序的详细信息,请参阅以下部分:

可以向用户提供对应用程序的更新,作为 Windows Installer 修补程序包。 修补程序可以包含整个文件,或仅包含更新部分文件所需的文件位。 这意味着,用户可以下载比整个产品小得多的升级补丁,并通过升级保留用户自定义。 请注意,可以采用与小型更新相同的方式来应用次升级。 有关使用修补程序更新应用程序的详细信息,请参阅以下部分: