Я раньше создавал установки для приложения с NSIS и финалом сам, экстрактор составлял 1,2 МБ. Теперь я должен использовать WIX из-за оперативных потребностей, и та же установка выходит на уровне 4,2 МБ. Я установил сжатые флаги как документы и спецификации, обозначенные на узле пакета. Используя 7z для архивирования MSI приводит к zip-файлу на 2,4 МБ.
Вопрос: Как я могу сделать максимальное сжатие на MSI или создать маленький MSI (например, удалить ненужные ресурсы и т.д.)?
Отметьте - размер uber важный, и я должен использовать MSI/WIX теперь - это - выставочный стопор!
Проблема заключалась в элементе ICON, который ссылался на исходный файл - главный исполняемый файл - а затем снова включал исполняемый файл, на этот раз без сжатия в качестве ресурса.
<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 МБ и находится на одном уровне с NSIS.
Вы пытались установить атрибут CompressionLevel = 'high' в элементе Media ? Кроме того, я должен сказать, что WiX включает только те вещи, которые вы ему указываете, поэтому я не думаю, что вы легко найдете что-то, что можно выпустить из своего пакета ...