2008-12-24 7 views
7

Ich benutze WiX3, um MSI-Installationspaket zu generieren. - WinZip komprimiert es von 2M bis zu 600KWiX generierte MSI ist nicht komprimiert

<Package InstallerVersion="200" Compressed="yes"/> 
<Media Id="1" Cabinet="MySetup.cab" EmbedCab="yes" CompressionLevel="high" /> 

aber die resultierende MSI ist nicht komprimiert: Ich habe auf in den beiden <Package> und <Media> Elemente comression Flag angegeben.

Fehle ich etwas?

Ich verwende VS2008 BTW.

+0

Die XML-Tags, die Sie nicht im Text angegeben haben herauskommen. Ich denke, sie als "Code" zu markieren, sollte sie im Text zeigen. – vividos

Antwort

2

In Ihrer Frage fehlt etwas. Aber woher weißt du, dass es nicht komprimiert ist? Wenn Winzip es weiter komprimieren kann, heißt das nicht immer, dass es nicht komprimiert ist. Sie können 7-zip verwenden, um die resultierende MSI-Datei zu untersuchen. Es sollte ein Taxi drinnen sein, es herausziehen und auf die Größe vor und nach der Dekompression schauen.

4

MSI-Dateien sind keine OLE-Dateien mit strukturiertem Speicher. Sie können nicht komprimiert werden und der Windows Installer kann sie weiterhin lesen. Viele Dinge sind jedoch in der MSI-Datei gespeichert (z. B. Ihre UI-Grafiken und CustomAction-DLLs und Verknüpfungssymbole), so dass Sie sich über den Inhalt bewusst sein sollten, den Sie in das MSI einfügen.

Es gibt nichts im WiX-Toolset, um jedes der Dinge, die Sie in das MSI schreiben, zu analysieren und zu komprimieren (außer der cab-Datei, da dies vom Windows Installer erwartet wird).

Ehrlich gesagt, unterstützt der Windows Installer nicht nativ die beste Komprimierung von heute. Eine Sache zu tun ist, das Paket zu erstellen und einen Bootstrapper zu verwenden, der komprimierten Inhalt verteilt und dekomprimiert, bevor er an den Windows Installer übergeben wird. Das ist der Plan für den Brenn-Bootstrapper von WiX v3.5.

1

In Bezug auf die riesigen Bitmaps, empfehle ich, sie in Photoshop zu bearbeiten, um sie zu verkleinern. Ich schaffte es, zwei 600K-Bitmaps auf ~ 35k zu reduzieren, indem ich sie in eine indizierte Farbpalette umwandelte (Image> Mode> Indiziert) und dann die resultierende Datei als 8-Bit komprimierten BMP speicherte.

ihm einen Schuss geben;)

Verwandte Themen