我正在尝试使用 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"
,但它似乎对我的相位定义没有影响。
那么谁能解释一下我做错了什么?我在 Inno Setup Help 中找不到更多信息。
您使用行
覆盖
PHASE
文件中的
.iss
#define PHASE
删除该行或使用 #ifdef 检查它,以便仅在未通过命令行设置时定义它
/D
开关:
#ifndef PHASE
#define PHASE
#endif