Inno设置:在安装期间更改AppVerName值

时间:2013-10-22 14:41:50

标签: inno-setup

我想为我的应用编写一个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的东西......有什么想法吗?

1 个答案:

答案 0 :(得分:4)

没有。您无法从自定义页面输入中获取AppVerName指令的值,因为在创建向导表单时会评估此指令的值。正如参考文献所说(我强调):

  

此指令的值显示在欢迎页面上   安装程序的向导,并用作默认标题   应用程序的添加/删除程序条目。

这意味着您必须在欢迎页面之前显示自定义页面。但是,您可以使用UninstallDisplayName。那个在AppVerName之前有一个优先级,实际上用于在“添加/删除程序控制面板”小程序中指定条目的名称。