У меня есть .msm из 100MB и когда я строю свой WiX проект я получаю .msi из 200MB Вот код:Msi два раза больше, чем MSM
<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>
Edit:
Обратите внимание, что CompressionLevel = «высокие» в < СМИ > принимает .msi от 200МБ до 180 Мб
Это как я вижу содержание .msm с 7z (Похоже косатками таблицей с префиксом! и файловыми са lled MergeModule.CABinet и другие).
Это как я вижу содержание .msi с 7z (Имена файлов).
Edit 2:
Похоже, я в том числе МСМ 2 раза. Если я установил EmbedCab = "no", мой msi все еще превышает 100 МБ плюс 100 МБ продукта.
Пожалуйста, обратите внимание на этот пересмотренный код:
<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 проект - Release - x64.
Наконец ...
Я решил пойти с проектом ожога, пардон загрузчика за беспорядок: D
это ваш собственный модуль слияния? Если это так, вы должны использовать [** Wix include files **] (http://stackoverflow.com/questions/24834951/msi-reference-counting-two-products-install-the-same-msis), а не объединять модули. –
Нет, это модуль третьей части. – Ymir
Запустите административный образ скомпилированного MSI, чтобы увидеть, что было скомпилировано в нем: 'msiexec/a File.msi'. –