从MSI中提取CAB文件以创建更小的MSI?

时间:2014-12-10 15:49:53

标签: windows-installer cab

我正在考虑从大型MSI文件中删除CAB文件,因此我留下了两个文件:一个小的MSI文件和一个大的CAB文件。

我一直在使用msidb来提取CAB,但我在这里遇到了一堵砖墙,无法弄清楚如何减少MSI的大小以解决CAB不再存储在其中的问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

MSI API并不是说具有紧凑的数据库功能。有一个帮助主题:

Reducing the Size of an .msi File表明:

  

删除浪费的存储空间并减小.msi的最终大小   文件,您有以下选择。 •导出所有表格   数据库到.idt文件,然后将它们导入新数据库。   这样可以实现最紧凑的存储。 •使用软件   用于压缩OLE文档文件的存储空间的实用程序。

假设这是您的MSI,只需使用您的工具将其构建为未压缩的。如果是另一个MSI,您必须遵循建议。您还需要更新Media表,告诉它您不再使用嵌入式cab。