Inno Setup:将预处理器生成的输出文件名返回到批处理脚本

时间:2018-07-09 23:28:09

标签: ftp inno-setup

我正在设置一个批处理文件来编译我的应用程序,然后使用Inno Setup编译安装程序。
我的设置文件名是使用Inno Setup中的某些ISPP命令确定的(除其他外,还可以从构建版本中创建文件名)。
最后一步是将设置上传到我的FTP,但是为此,我需要一种方法来检索Inno Setup生成的安装程序文件名。

有办法吗?

1 个答案:

答案 0 :(得分:1)

您可以将预处理器变量值写入文件。

一种方法是执行外部程序以使用Exec function进行编写:

#define FileName "foobar"

#expr Exec( \
    "cmd.exe", "/c echo " + FileName + "> """ + SourcePath + "\filename.txt""", , , \
    SW_HIDE)

然后您可以read the file in your batch file。或者,您可以让预处理器生成完整的FTP上传脚本,然后仅从批处理文件执行该脚本。


另一种方法是使用WriteIni function创建一个INI文件:

#define FileName "foobar"

#expr WriteIni(SourcePath  + "\filename.ini", "Section", "FileName", FileName)

尽管就我个人而言,我将在批处理文件中生成文件名(或用更好的语言替换该批处理文件),然后将其传递给Inno Setup,而不是相反。