如果旧版本的应用程序尚未存在,我想在“程序和功能”屏幕中保留旧条目,并且只有在安装了相同版本时才覆盖该条目(并在这种情况下卸载旧实例)。如果版本不同,这应该允许我们保留应用程序的多个版本。
我认为我可以通过更改GUID来做到这一点。
我们使用构建脚本来自动运行Inno安装程序,并且通常不会在新版本发布之前编辑它,用于管理新版本的构建脚本。
答案 0 :(得分:1)
要在“程序和功能”中保留同一应用程序的不同版本,您需要为每个版本为AppId
directive分配不同的值。
默认情况下,AppId
等于AppName
。
如果要为每个版本设置唯一值,请在值中包含AppVersion
。您可以使用a preprocessor function SetupSetting
:
[Setup]
AppName=My Program
AppVersion=1.5
AppId={#SetupSetting("AppName")}_{#SetupSetting("AppVersion")}
要使上述工作正常,AppId
必须低于 AppName
和AppVersion
。