我想为我的应用编写一个Inno Setup安装程序,可以安装多次,并在“Programs and Feautres”中多次显示不同的名称(根据用户输入)。据我所知,在Inno设置中,AppVerName设置常量定义了这个值,所以我像这样定义了我的AppVerName:
AppVerName={#MyAppName}_{code:GetNetworkId} {#MyAppVersion}
我从用户的自定义向导页面获取NetworkId,但是在我知道NetworkId(在向导的初始化之前)之前,AppVerName似乎只被评估一次,所以我的所有安装都会安装同名:“AppName_ AppVersion”。
另一方面,以相同的方式定义AppId
AppID={#MyAppName}_{code:GetNetworkId}
似乎工作正常,因为我可以在例如在注册表中。
这可以通过AppVerName以某种方式实现吗? 我也查看了WizardForm属性,但找不到任何可以对应AppVerName的东西......有什么想法吗?
答案 0 :(得分:4)
没有。您无法从自定义页面输入中获取AppVerName
指令的值,因为在创建向导表单时会评估此指令的值。正如参考文献所说(我强调):
此指令的值显示在欢迎页面上 安装程序的向导,并用作默认标题 应用程序的添加/删除程序条目。
这意味着您必须在欢迎页面之前显示自定义页面。但是,您可以使用UninstallDisplayName
。那个在AppVerName
之前有一个优先级,实际上用于在“添加/删除程序控制面板”小程序中指定条目的名称。