我在Inno Setup中使用"Exclude"标志,以便根据用户的体系结构从安装中排除子目录名"Bin32"或"Bin64".
我想要的是不要安装无用文件夹及其所有文件和子目录.
这是我目前的规则:
[Files]
Source: "Z:\Work\temp\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; Exclude
Source: "*"; Excludes: "\Bin64"; DestDir: "{app}"; Flags: recursesubdirs; Check: not Is64BitInstallMode
Source: "*"; Excludes: "\Bin32"; DestDir: "{app}"; Flags: recursesubdirs; Check: Is64BitInstallMode
Run Code Online (Sandbox Code Playgroud)
首先,我不太明白"*"在排除规则的开头是什么意思?其次,它适用于Bin32/64文件夹内的所有子目录,但文件仍然安装,我无法找到不安装它们的方法...
谢谢.
Dea*_*nna 10
每个条目都是一个操作,不受任何其他条目的影响.考虑到这一点,这就是发生的事情:
z:\work\temp.SourceDir除了之外的所有内容\Bin64SourceDir除了之外的所有内容\Bin32我希望你的SourceDir(脚本路径,如果没有指定)是相同的Z:\Work\Temp,因此,你基本上最终安装了所有安装.
如果您复制第一个条目,并将Excludes(没有\前缀)和Check参数移动到它上,它应该按您的要求工作:
[Files]
Source: "Z:\Work\temp\*"; Excludes: "Bin64"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: not Is64BitInstallMode
Source: "Z:\Work\temp\*"; Excludes: "Bin32"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Is64BitInstallMode
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8239 次 |
| 最近记录: |