为将来的重大升级准备应用程序
安装包作者应在其 .msi 文件中包含升级信息,以确保其安装包可以利用 Microsoft Windows Installer 提供的完整升级功能。
应为每个应用程序或应用程序套件分配 UpgradeCode 属性、ProductVersion 属性和 ProductLanguage 属性。 UpgradeCode 属性表示由同一产品的不同版本和不同语言版本组成的一系列相关应用程序。 有关使用 UpgradeCode 属性的详细信息,请参阅使用 UpgradeCode。
为将来的重大升级准备应用程序
- 确定应用程序的新包代码值。 有关包代码的详细信息,请参阅包代码。 在摘要信息流的修订版号摘要属性中输入新的包代码。
- 确定应用程序的新 ProductCode 属性。 有关详细信息,请参阅更改产品代码。 在 Property 表中输入 ProductCode 及其值。
- 确定应用程序的版本和 ProductVersion 属性。 每添加一个新的应用程序版本,ProductVersion 就应该递增。 请注意,安装程序仅使用产品版本的前三个字段。 如果在产品版本中包括第四个字段,安装程序将忽略第四个字段。 在 Property 表中输入 ProductVersion 及其值。
- 确定包的语言和 ProductLanguage 属性。 此属性的值必须是数字语言标识符 (LANGID)。 在 Property 表中输入 ProductLanguage 及其值。 请注意,FindRelatedProducts 操作使用 MsiGetProductInfo 返回的语言。 为使 FindRelatedProducts 正常工作,包作者必须确保 Property 表中的 ProductLanguage 属性设置为也已在模板摘要属性中列出的语言。
- 如果你正在为产品的第一个版本创作安装包,请使用新的 UpgradeCode。 如果你的包面向现有产品的较新版本,或者与采用不同语言的现有产品的版本相同,请使用与现有产品相同的 UpgradeCode。 具有相同 ProductVersion 和相同 ProductLanguage 的两个产品不能具有相同的 UpgradeCode,除非一个产品是另一个产品的小型更新。
- UpgradeCode 采用 GUID 格式。 在 Property 表中输入 UpgradeCode GUID。
有关详细信息,请参阅防止止在较新版本上安装旧包。