2008-12-24 14 views
7

Uso WiX3 para generar el paquete de instalación de MSI. he especificado bandera comression en tanto en los elementos <Package> y <Media>:WiX generado MSI no está comprimido

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

pero la MSI resultante no es comprimido en todo - WinZip comprime desde 2 M hasta 600K.

¿Echo de menos algo?

Estoy usando VS2008 por cierto.

+0

las etiquetas XML que ha especificado no salieron en el texto. Creo que marcarlos como "código" debería mostrarlos en el texto. – vividos

Respuesta

2

Falta algo en su pregunta. Pero ¿cómo sabes que no está comprimido? Si Winzip puede comprimirlo más, no siempre significa que no está comprimido. Puede usar 7-zip para investigar el archivo msi resultante. Debería haber una cabina adentro, extraerla y observar el tamaño antes y después de descomprimir.

4

Los archivos MSI no son archivos OLE Structured Storage. No se pueden comprimir y el Windows Installer aún puede leerlos. Sin embargo, hay muchas cosas almacenadas en el archivo MSI (como los gráficos UI y las DLL CustomAction y los iconos de acceso directo), por lo que debe tener en cuenta el contenido que está colocando en el MSI.

No hay nada en el conjunto de herramientas de WiX para analizar cada una de las cosas que está colocando en el MSI y comprimirlas (excepto el archivo cab, por supuesto, ya que el Windows Installer espera que se comprima).

Honestamente, Windows Installer no es compatible nativamente con la mejor compresión de hoy. Una cosa es hacer el paquete y utilizar un programa de arranque que distribuya contenido comprimido y descomprima antes de pasarlo al instalador de Windows. Ese es el plan para el bootstrapper de grabación de WiX v3.5.

1

En cuanto a los grandes mapas de bits, sugiero editarlos en photoshop para reducirlos. Pude conseguir dos mapas de bits de 600K hasta ~ 35k cada uno al cambiarlos a una paleta de colores indexados (Imagen> Modo> Indexados) y luego guardar el archivo resultante como un BMP comprimido de 8 bits.

darle un tiro;)

Cuestiones relacionadas