Inno安装程序中Visual Studio安装程序升级代码的等效功能是什么?我发现本文How do I uninstall related products in Inno Setup using an InstallShield Upgrade Code GUID可以使用升级代码搜索产品。 AppId与UpgradeCode相同吗?我是Inno设置的新手,有人可以在这里帮助我吗?

最佳答案

通常,在安装升级时,您不会卸载应用程序的旧版本。
AppId是相关的。给定两个具有相同ID的安装程序(或更常见的是同一安装程序的两个版本),默认情况下,Inno将提供与先前安装位置相同的文件夹中的安装,并且两者将共享卸载信息。

通常,发布同一应用程序的升级版本时,您要做的就是确保AppId(如果未指定ID,则为AppName)与旧版本中的相同,并且一切都会正常进行。

强烈建议您这样做(即使对于第一个版本也是如此)是在[Setup]节中添加以下内容:

DisableDirPage=auto
DisableProgramGroupPage=auto

这将使用户选择首次安装的安装位置,但在以后的安装/升级中隐藏选择。由于Inno始终默认为上一个位置,因此避免了将安装位置从一次安装更改为下一次安装可能导致的任何困惑(和剩余文件)。

除此之外,几乎不需要做任何其他事情。在极少数情况下,您可能会使先前版本中使用的特定文件冗余(例如,不再使用特定的库);如果您愿意,可以使用[InstallDelete]条目来处理此问题,以从以前的版本中删除不再需要的任何文件。 (始终确保仅按名称删除特定文件-使用通配符非常危险。)尽管(除非它们很大),将多余的文件留在后面通常不会有太大的危害-如果出现这种情况,它们最终仍会被清除。用户卸载。

如果您想进一步自定义行为,可以在[Code]中进行多种操作。

10-07 19:10
查看更多