我有一个100万的.msm,当我构建我的WiX项目时,我得到一个200MB的.msi 这里有一些代码:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Merge Id="MyMsmFile" Language="1033" SourceFile="msm\MyMsmFile.msm"
DiskId="1" FileCompression="yes" />
<Directory Id="INSTALLFOLDER" Name="Foo" >
</Directory>
</Directory>
<Feature Id="Foo_client" Title="Foo Client" Level="1"
ConfigurableDirectory="INSTALLFOLDER" >
<Feature Id="Server" Title="Foo Server" Level="32767">
<MergeRef Id="MyMsmFile" />
</Feature>
</Feature>
修改
请注意CompressionLevel =&#34; high&#34; at&lt; Media&gt;将.msi从200MB增加到180MB
这就像我看到带有7z的.msm的内容(看起来像带有!前缀的orca表和一个名为MergeModule.CABinet等的文件)。
这就像我看到.msi的内容有7z(文件名)。
编辑2:
看起来我包括msm 2次。如果我设置EmbedCab =&#34; no&#34;我的msi仍然超过100MB加上100MB的product.cab。
请查看此修订后的代码:
<Product Id="PUT-GUID-HERE"
Name="MyProduct"
Language="1033"
Version="0.0.1"
Manufacturer="MyCompany"
UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<Media Id="1" Cabinet="product.cab" EmbedCab="no" CompressionLevel="high" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<UIRef Id="WixUI_FeatureTree" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLFOLDER" Name="MyProduct" >
<Merge Id="ThirdPartModule" Language="1033" SourceFile="ThirdPartModule.msm" DiskId="1" />
</Directory>
</Directory>
<Feature Id="Server" Title="MyProduct Server" Level="1" >
<MergeRef Id="ThirdPartModule" />
</Feature>
</Product>
这是一个VisualStudio 2012项目 - 发布 - x64。
最后...
我选择使用刻录引导程序项目,抱歉这个混乱:D
答案 0 :(得分:1)
因此,当您将压缩设置为高时,MSI为100MB或与.MSM大小相同?那么这里的问题是什么?
合并过程从MSI中提取文件并将它们放入MSI中。如果MSM具有更高的压缩设置,则MSI可以期望包扩展。
答案 1 :(得分:1)
正如克里斯所说,您可以尝试启用高压缩,如下所示:
<Media Id="1" Cabinet="product.cab" CompressionLevel="high" EmbedCab="yes" />
阅读media element documentation以获取更多信息。 &#34;高&#34;据我所知,压缩设置启用 LZX 而不是 mszip 格式。
这是一篇帖子,其中包含有关MSI可用的各种压缩级别的信息:What is the compression method used by MSI files?
一些链接 :