代码之家  ›  专栏  ›  技术社区  ›  Julien M

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

  •  1
  • Julien M  · 技术社区  · 6 年前

    我正在设置一个批处理文件来编译我的应用程序,使用inno setup编译安装程序。
    我的安装文件名是使用inno setup中的一些ispp命令确定的(除其他外,从构建版本创建文件名)。
    最后一步是将安装程序上载到我的ftp,但为此,我需要一种方法来检索由inno setup生成的安装程序文件名。

    有办法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Martin Prikryl    6 年前

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

    一种方法是使用 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 以下内容:

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

    尽管就我个人而言,我会在批处理文件中生成文件名(或者用更好的语言替换批处理文件),并将其传递给inno setup,而不是相反。