我对wix工具不太了解。
我有一个项目,需要打包在许多msi包中。文件的数量约为700个。每个msi包之间的区别主要是在体系结构(x86、x64)和一小组可变资源(不超过5-10个文件)中。
完整的构建需要超过一个小时。大部分时间都是由light.exe占用的。
是否有可能以某种方式缓存工作的结果以加快这个过程,因为每个msi都有一个最小的文件集?也许我应该用一种特殊的方式组织这些文件,使之成为可能?
发布于 2021-03-20 15:33:52
计算机和磁盘:显而易见的第一条:你在一台好的计算机上使用快速磁盘吗?或者您是从网络中提取文件,还是将文件写入缓慢磁盘?700个文件并不多。它们很大吗?你在建几个机构?一个好的SSD或NVME磁盘应该有帮助-它背后也有一些好的CPU。
Build :我有关于构建优化的现有答案:加快WiX安装程序的构建过程 --我建议您构建一个共享的安装程序并通过WiX烧伤setup.exe包进行安装( builds setup.exe可执行文件可以安装嵌入式MSI文件或其他安装类型的文件)。一个单独的MSI,你很少构建可以工作。关于设置衔接与耦合的几点思考。
WiX帮助文件:如何:优化构建速度
Cab Cache & wixlibs:请阅读以下内容:
链接:
发布于 2021-03-20 15:23:48
您可以为共享文件定义一个单独的内阁文件,为唯一的一组文件定义单独的内阁文件。使用条件编译使用定义只包括在MSI文件中选择柜。
<Media Id="1" Cabinet="Shared.cab" CompressionLevel="high" VolumeLabel="Shared binaries." EmbedCab="no" />
<Media Id="2" Cabinet="Set1.cab" CompressionLevel="high" VolumeLabel="Unique files 1" EmbedCab="no" />
<Media Id="3" Cabinet="Set2.cab" CompressionLevel="high" VolumeLabel="Unique files 2" EmbedCab="no" />在<File>元素上,将DiskId=""属性设置为将单个文件与目标内阁相关联。
当输入文件在不同版本之间不发生变化时,Light应该能够使用缓存中的现有机柜。
https://stackoverflow.com/questions/66721061
复制相似问题