Inno setup 如何将参数值从编译器传递到脚本?

Inno setup 如何将参数值从编译器传递到脚本?,inno-setup,Inno Setup,我需要将一个参数值从编译器传递到编译脚本的[Files]部分,比如在安装运行时可以在脚本中使用{param:…}常量。我的想法是编译我的脚本,例如,这种方式(无法执行): 在我的脚本中有这样的内容(它不起作用,因为它是用于安装运行时而不是编译时): 您可以使用ISCC编译器通过/D参数传递路径来构建设置。这将为脚本声明一个公共的#define。由于脚本可以重新声明#define,因此需要确保其条件声明为您想要的默认值。例如: #ifndef SrcPath #define SrcPath "

我需要将一个参数值从编译器传递到编译脚本的
[Files]
部分,比如在安装运行时可以在脚本中使用
{param:…}
常量。我的想法是编译我的脚本,例如,这种方式(无法执行):

在我的脚本中有这样的内容(它不起作用,因为它是用于安装运行时而不是编译时):


您可以使用ISCC编译器通过
/D
参数传递路径来构建设置。这将为脚本声明一个公共的
#define
。由于脚本可以重新声明
#define
,因此需要确保其条件声明为您想要的默认值。例如:

#ifndef SrcPath
  #define SrcPath "C:\DefaultPath\"
#endif

[Files]
Source: {#SrcPath}App.exe; DestDir: {app}
然后以这种方式构建设置将使用脚本中的
#define

ISCC.exe Script.iss
以这种方式构建时,将使用传递的参数值声明的
#define

ISCC.exe Script.iss /DSrcPath="C:\AnotherPath\"

另请参见。欢迎回到SO!
ISCC.exe Script.iss
ISCC.exe Script.iss /DSrcPath="C:\AnotherPath\"