包代码

包代码是一个用于标识特定 Windows Installer 的 GUID。 包代码将 .msi 文件与应用程序或产品相关联,并可用于源的验证。 产品和包代码不可互换。 有关详细信息,请参阅产品代码

不同的 .msi 文件不应有相同的包代码。 必须更改包代码,因为它是由安装程序用来搜索和验证给定安装的正确包的主要标识符。 如果在不更改包代码的情况下更改某个包,而安装程序仍可访问更改前后的两个包版本,安装程序可能不会使用较新的包。

包代码存储在摘要信息流修订号摘要属性中。 请注意,产品代码和包代码 GUID 中的字母必须为大写。 GUIDGEN 之类的实用工具会生成包含小写字母的 GUID。 这些 GUID 中的小写字母必须更改为大写字母才能用作产品代码或包代码。

虽然经常会发布具有相同包代码和产品代码的应用程序,但随着应用程序的更新,这两个值可能会有所不同。 例如,在应用程序中包括一个新文件时,需要更新安装数据库才能安装该文件。 如果更改很小,开发人员可以选择不更改产品代码,但是需要不同的 .msi 文件来安装新文件,因此必须将包代码递增。 反过来,单个包可用于安装多个产品。 例如,安装没有语言转换的包可以安装应用程序的英语版本,而安装具有语言转换的相同包可以安装法语版本。 转换不同于 .msi 文件,后者决定包代码。 英语和法语版本可能有不同的产品代码和相同的包代码,因为它们都是使用相同的 .msi 文件安装的。