【发布时间】:2018-05-18 20:46:49
【问题描述】:
我有一个包含多个项目的 .NET 解决方案。每个项目都有自己的输出文件夹(project1 到 projectN)。所有项目都有公共文件,由 msbuild 处理到每个文件夹。 (这是正常的)。公共文件具有完全相同的名称、修改时间和内容。公用文件约占每个项目总大小的 90%。
我想用 Inno Setup / Inno Script Studio 创建一个安装程序 每个项目都有自己的组件。 (安装时可以选择)
我的 iss 文件如下所示:
Source: "{#BuildOutputDirectory}_project1\*"; Excludes: "*.pdb,*.xml"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: project1
Source: "{#BuildOutputDirectory}_project2\*"; Excludes: "*.pdb,*.xml"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: project2
...
Source: "{#BuildOutputDirectory}_projectN\*"; Excludes: "*.pdb,*.xml"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: projectN
我的问题是重复文件多次包含在安装程序中。项目文件夹的总大小为 517MB,uniqe 文件的大小为 78MB,安装程序大小为 98MB(压缩 lzma2 固态)。预期的安装程序大小应约为 21MB(我已使用 7-Zip 压缩了唯一文件,结果是这样)
而且安装创建时间很长,因为它会多次压缩重复文件。但这并不是真正的问题。
如何过滤重复文件? (我有一个想法,用一个已经过滤它们的简单应用程序生成 iss 文件,但这只是一种解决方法)
【问题讨论】:
标签: inno-setup