5

Inno Setup 中 Visual Studio 安装程序升级代码的等效项是什么?我发现这篇文章如何使用 InstallShield 升级代码 GUID 在 Inno Setup 中卸载相关产品以搜索使用升级代码的产品。AppId 和 UpgradeCode 一样吗?我是 Inno 设置的新手,有人可以在这里帮助我吗?

4

1 回答 1

6

通常,您在安装升级时不会卸载旧版本的应用程序。

AppId有点相关;给定两个具有相同 id 的安装程序(或更常见的是同一安装程序的两个版本),默认情况下 Inno 将提供安装到与先前安装相同的文件夹中,并且两者将共享卸载信息。

通常,当发布同一应用程序的升级版本时,您需要做的就是确保AppId(或者AppName如果您没有指定 id)与旧版本中的相同,并且一切都会正常工作。

强烈推荐的一件事(即使是第一个版本)是将以下内容添加到您的[Setup]部分:

DisableDirPage=auto
DisableProgramGroupPage=auto

这将让用户在第一次安装时选择安装位置,但在后续安装/升级时隐藏选择。由于 Inno 无论如何都默认使用以前的位置,因此这避免了由于将安装位置从一个安装更改为下一个可能导致的任何可能的混淆(和剩余文件)。

除此之外,很少需要做任何其他事情。在极少数情况下,您可能会使先前版本中使用的特定文件变得多余(例如,不再使用特定库);[InstallDelete]如果您希望可以通过使用条目从不再需要的先前版本中删除任何文件来处理此问题。(始终确保您只按名称删除特定文件——使用通配符非常危险。)尽管如此(除非它们很大)——它们最终仍会被清理掉,如果用户卸载。

如果您想进一步自定义行为,您可以在[Code].

于 2013-10-25T08:53:28.897 回答