ISCC - / D编译器参数似乎没有任何效果

时间:2015-10-15 11:53:04

标签: parameter-passing inno-setup

我尝试使用Inno Setup命令行编译器的/ D参数来选择我的设置中应包含哪些文件。

代码如下所示:

#define MyAppName "MyApp"
#define MyAppVersion "1.0.0"
(....)
#define PHASE

[Setup]
AppVersion={#MyAppVersion}
(....)

[Files]
Source: "C:\temp\myfile.txt"; DestDir: "{app}";

#if PHASE == "test"
    Source: "C:\temp\onlyInTestBuildNeeded.txt"; DestDir: "{app}";
#endif

我尝试编译脚本ISCC /DPHASE=test "D:\foo\bar.iss",但它似乎对我的PHASE定义没有影响。

那么有人能解释我做错了什么吗?我无法在Inno Setup Help找到更多信息。

1 个答案:

答案 0 :(得分:7)

您使用

行覆盖PHASE文件中的.iss
#define PHASE

删除该行或使用#ifdef进行检查,以便仅在未通过命令行/D切换设置时定义它:

#ifndef PHASE
  #define PHASE
#endif