使用WIX对MSI安装进行最大压缩

时间:2010-04-09 08:25:12

标签: compression wix windows-installer

我曾经为NSIS的应用程序构建安装,最终自提取器为1.2 MB。现在我需要使用WIX,因为操作需要,同样的安装在4.2 MB。我将压缩标志设置为包节点上指示的文档和规范。使用7z压缩MSI会生成一个2.4 MB的zip文件。

问题:如何在MSI上进行最大压缩或创建小型MSI(例如删除不需要的资源等)?

注意 - 尺寸非常重要,我现在必须使用MSI / WIX - 这是一个显示停止!

2 个答案:

答案 0 :(得分:6)

问题是一个ICON元素引用了一个源文件 - 主exe - 然后再次包含了exe,这次没有压缩为资源。

                <Directory Id="app" Name="MyApp">

                <Component Id="app.exe" DiskId="1" Guid="AGUID_123">

                    <File Id="app.exe" Name="app.exe" Source="..\app\app.exe" KeyPath="yes">
                        <Shortcut Id="ExeShortcut" Directory="ProgramMenuDir" Name="MyApp" Advertise="yes" Icon="StartMenuIcon.exe" IconIndex="0" />
                    </File>...

然后降下来:

<Icon Id="StartMenuIcon.exe" SourceFile="..\app\app.exe" />

我发现它使用7Zip打开生成的MSI文件并看到一个熟悉的文件大小 - 未压缩的主exe。

现在生成的MSI文件为1.4 MB,与NSIS相同。

答案 1 :(得分:2)

您是否尝试在Media元素中设置CompressionLevel ='high'属性?此外,我应该说WiX仅包含您指示包含的内容,因此,我认为您不会轻易找到任何内容从您的包中退出...