在软件部署过程中,升级现有版本是一个常见的需求。本文将介绍如何使用安装程序项目和后构建JavaScript来实现应用程序的升级过程。将详细说明如何检测是否已安装旧版本,如何跳过某些安装对话框,以及如何更改对话框中的文本以反映升级过程。
首先,需要设置安装程序项目,以便在构建完成后自动执行必要的MSI更改。这包括创建注册表值以记住上次安装的位置和用户选择,以及设置后构建事件来执行JavaScript文件。
需要在本地计算机上创建三个注册表值:
接下来,需要创建注册表搜索,以便在安装过程中读取这些值:
重要的是,步骤6必须在步骤7之前执行,因为步骤7依赖于步骤6检索到的值。
需要创建一个注册表搜索,以检查是否存在注册表键(安装)SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[OLDPRODUCTCODE],并将结果写入变量[ISOLDPRODUCTCODEINSTALLED]。这将决定安装还是升级。
后构建事件将自动执行以下操作:
需要定义自定义动作,以便在升级时更改[WelcomeForm_NextArgs]和[ConfirmInstallForm_PrevArgs]的值。这些自定义动作将在安装UI序列表中调用,以便在升级时(条件ISOLDPRODUCTCODEINSTALLED<>"")实际执行更改。