Hi,请  登录  或  注册

Inno Setup 自动打包子目录与空文件夹的简洁写法

在使用 Inno Setup 编写安装脚本时,传统方式往往需要逐个写明每个文件与子目录,例如:

[Files]
Source: "{app}\a.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{app}\sub\a.txt"; DestDir: "{app}\sub"; Flags: ignoreversion
Source: "{app}\sub\b.txt"; DestDir: "{app}\sub"; Flags: ignoreversion

Inno Setup 自动打包子目录与空文件夹的简洁写法

如果目录结构复杂或更新频繁,维护起来非常麻烦。

推荐写法(一条语句搞定)

使用 recursesubdirscreateallsubdirs 参数后,只需写一行即可自动包含所有子文件夹和空文件夹:

[Files]
Source: "{app}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

含义解释:

  • ignoreversion:忽略版本号,不进行版本比对;

  • recursesubdirs:递归打包所有子目录;

  • createallsubdirs:自动创建空文件夹;

  • *:通配所有文件。

使用步骤

  1. 整理要打包的所有资源到一个目录,比如 output

  2. 在 [Files] 区段中添加一条语句如下:

    Source: "output\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
  3. 编译安装包,即可一键打包所有内容。

补充建议

  • {app} 是 Inno 的占位符,表示用户安装路径;

  • 若需排除某些文件,建议使用 Exclude 参数(Inno 6.2+ 支持);

  • 对于多源路径,可使用多条类似语句,但都可保持单行简洁结构。

通过使用 Inno Setup 的 recursesubdirscreateallsubdirs 参数,可以极大简化打包脚本,减少维护成本,尤其适用于项目中有大量资源文件、插件目录、动态更新内容的情况。

文章名称:Inno Setup 自动打包子目录与空文件夹的简洁写法
除非特别注明,本站所有文章均为原创,转载请注明出处:264玫瑰资源库
部分教程资源来源于互联网,请谨慎辨别广告内容,避免上当受骗!

评论 抢沙发

登录

找回密码

注册