使用INI文件填充inno设置中的设置部分值

时间:2013-12-27 14:21:45

标签: inno-setup ini

我正在尝试使用{param}和{ini}填充设置部分值,如下所示:

VersionInfoProductName={param:NAME|My Product}
VersionInfoTextVersion={ini:ExpandConstant({src})\config.ini,setupValues,version|unknow}

但它无效,EXE属性显示{param:NAME|My Product} 我也试过GetIniString但结果相同。

如何在设置部分中输入ini值?

1 个答案:

答案 0 :(得分:1)

您不能使用您使用的任何常量,因为您尝试填充的两个指令都需要在编译时填充。您将需要使用等效的预处理器函数,因为只有预处理器才能在编译开始之前填充指令值。

用于从INI文件读取的预处理器等价物是ReadIni函数,您可以按照以下方式使用该函数。假设您将config.ini文件存储在与包含此内容的脚本相同的位置:

[setupValues]
version=1.2.3.0

您可以通过这种方式填充VersionInfoVersion指令的值。我已经使用了这个指令,因为VersionInfoTextVersion指令的值只显示在系统下面的Windows 98上,我相信你没有运行这么旧的系统来验证这个:

[Setup]
VersionInfoVersion={#ReadIni(SourcePath + "config.ini", "setupValues", "version", "")}

注意,上面代码中使用的SourcePath变量是predefined variable,可以从预处理器中进行评估。然后,您可以通过检查设置二进制文件属性来验证结果,您将看到例如这样:

enter image description here