使用Inno Setup创建的安装程序可以通过/ LOADINF选项读取INI文件。是否可以通过此INI文件读取自定义变量?是否有一个函数来获取此选项给出的INI文件的名称? (然后可以使用INI实用程序功能。)
答案 0 :(得分:2)
代码
ExpandConstant('{param:LoadInf}')
从命令行参数提供文件INI文件名。
如果INF文件位于设置文件夹
,请使用此代码AddBackslash(ExpandConstant('{src}')) + ExpandConstant('{param:LoadInf}');
答案 1 :(得分:1)
我们只是使用ParamStr(i)
函数迭代命令行参数,并查找以“/LOADINF=
”开头的参数,然后从那里提取文件名。
最初得到我们的一个问题是文件名可能是相对路径描述符(例如只是文件名)。但是,如果使用压缩,则当前工作目录将是%TEMP%
文件夹中的某个子文件夹,而不是setup.exe所在的目录。因此,您应确保检测到此情况,并在必要时使用AddBackslash(ExpandConstant('{src}'))
添加给定文件名。