我一直试图在Check
中完成两项功能。当我使用多个函数时,它们都不起作用。例如:
[Files]
Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install;
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install;
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: portable and install;
当我只使用一个便携式或安装支票时,它可以工作,虽然我知道我可以重复源Dir并将其他支票放在这样:
[Files]
Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: portable;
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: portable;
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: portable;
Source: MyProg.exe; DestDir: "{app}"; Flags: ignoreversion; Check: install;
Source: MyProg.dll; DestDir: "{app}"; Flags: ignoreversion; Check: install;
Source: MyProg.ini; DestDir: "{app}"; Flags: ignoreversion; Check: install;
但由于我有很多文件,我想在一个Check
中使用多个函数,以便不在[Files]
部分复制和粘贴过多的源代码行。
答案 0 :(得分:1)
此:
[Files]
Source: MyProg.exe; DestDir: {app}; Check: portable and install
不相同到:
[Files]
Source: MyProg.exe; DestDir: {app}; Check: install
Source: MyProg.exe; DestDir: {app}; Check: portable
第一个说安装文件,当portable
和 install
都为真/选择时。什么可能永远不会发生。
后者说安装文件,当portable
或 install
为真/选择时。
因此,您希望使用or
运算符代替and
:
[Files]
Source: MyProg.exe; DestDir: {app}; Check: portable or install