我有100MB的的.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 =“高”在<新闻>需要的.msi从200MB到180MB
这就像我看到的.msm用7z格式的内容(看起来像!前缀和一个叫MergeModule.CABinet和其他文件ORCA表)。
这就像我看到的.msi用7z格式的内容(文件名)。
编辑2:
它看起来像我,包括MSM 2倍。 如果我设置EmbedCab =“没有”我的MSI仍超过100MB加上product.cab的100MB。
请看看这个修改后的代码:
<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项目 - 发行 - 64。
最后...
我选择去与烧伤引导程序的项目,遗憾的混乱:d