【问题标题】:How to use a preprocessor variable within a preprocessor function with Inno Setup如何在 Inno Setup 的预处理器函数中使用预处理器变量
【发布时间】:2020-06-04 19:50:02
【问题描述】:

我尝试使用 Exec() 预处理器函数运行 PowerShell 脚本,但我需要向它传递两个参数。我怎样才能做到这一点?下面的 sn-p 不起作用。

#define PSScript  SourcePath + "\\UpdateJson.ps1"
#define ConfigPath  SourcePath + "\\ClientConfig.json"
#expr Exec("PowerShell -NoProfile -ExecutionPolicy Bypass -File {#PSScript} {#ConfigPath} Str({#BuildNumber})")

谢谢!

【问题讨论】:

    标签: windows inno-setup


    【解决方案1】:

    使用+ 运算符,就像在PSScriptConfigPath 声明中使用它一样。

    另外,Exec function 需要单独的参数。

    其他:
    1) 您应该将路径用双引号括起来,以防它们包含空格。
    2) 默认情况下,Inno Setup 预处理器不需要转义反斜杠。

    #define PSScript  SourcePath + "\UpdateJson.ps1"
    #define ConfigPath  SourcePath + "\ClientConfig.json"
    
    #expr Exec("PowerShell", \
               "-NoProfile -ExecutionPolicy Bypass -File """ + PSScript + """ " + \
                   """" + ConfigPath + """ " + Str(BuildNumber))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多