我可以提取MSI文件,但是当我尝试从提取的文件中重新生成它时,生成的文件不起作用。
我想如果我将压缩方法从Deflate
更改为另一个,它会起作用。
首先:Windows Installer SDK中有一个名为WiMakCab.vbs的脚本,用于创建用于MSI文件的* .cab文件。该脚本中的一行是:Dim compressType : compressType = "MSZIP"
)。您应该在创建cab时尝试该脚本。
以下是来自http://www.gdgsoft.com/的注释引用(16.06.2014:删除了直接断开的链接,留下了基本网址):
“Microsoft Cabinet支持三种无损压缩技术:(1)存储,(2)MSZip和(3)LZX。在机柜存档文件中,可以使用这些技术的任意组合.MSZip与通货紧缩压缩方法基本相同PKZip使用LZX.LZX是一种基于LZ77的压缩技术,使用静态霍夫曼编码.LZX使用更多内存,但可以产生比MSZip更好的压缩率。当然,存储意味着文件存储在未压缩的机柜中。
MSDN信息:Microsoft Cabinet SDK和Microsoft Cabinet Format。
一些链接:
不确定压缩方法,但检查出来:http://support.microsoft.com/kb/255905