我使用 InnoSetup 5.5.1 (a) 来安装 Delphi 6 软件。一位用户刚刚告诉我,如果不手动卸载,旧的卸载条目会堆积在控制面板的删除程序列表中。我正在考虑更改我的安装以自动删除旧条目,但我不想删除有效的旧条目。一些用户喜欢保留一两个旧版本,以防他们不喜欢更高版本或担心更高版本会破坏某些内容。
为了清楚起见,我特指用户通常接受默认安装目录并覆盖现有版本的典型情况。但是,例外情况是,某些用户可能会将一个或多个版本安装到不同的目录中,只是为了保留它们,而大多数情况下选择覆盖。我发现这篇关于删除旧版本的帖子:
InnoSetup:如何自动卸载以前安装的版本?
但没有看到任何提及如何检测哪些旧版本是多余的或不是多余的。
因此,在安装过程中,如何自动从已安装程序列表中自动删除旧的卸载条目,而不删除用户实际想要保留的任何条目?
只要你保留你的AppId
在应用程序的不同版本之间也是如此,无论用户运行安装程序多少次,它都只会有一个“添加/删除”条目。对于典型应用程序来说,这是正常且推荐的设计,其中用户只有一份副本并希望使其保持最新。
但是,如果用户在一个或多个后续安装中选择备用安装位置,则较旧的位置可能会“孤立”——运行卸载将删除较新的副本,但会留下较旧的副本,并且不会出现任何问题。添加/删除条目。 (仍然可以通过手动运行卸载程序来卸载它。)通常建议通过在您的应用程序中包含这些选项来避免这种情况。[Setup]
部分:
DisableDirPage=auto
DisableProgramGroupPage=auto
使用这些选项将使 Inno 在升级安装时跳过询问这些问题,这有助于防止用户意外制作孤立副本。 (如果用户确实想要移动安装,他们仍然可以通过先卸载来完成。)
请注意,我稍微回避了你的问题,因为所写的它没有意义——如果有多个副本,则无法自动确定哪些是“多余的”,因为这纯粹是对部分的判断调用用户的。我在这里试图解释的是,您的设计应该旨在阻止这种意外发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)