2010-04-09 25 views
6

Solía ​​construir instalaciones para una aplicación con NSIS y el auto extractor final era de 1,2 MB. Ahora necesito usar WIX debido a las necesidades operativas y la misma instalación sale a 4.2 MB. Establecí los indicadores comprimidos como los documentos y las especificaciones indicadas en el nodo del paquete. Usando 7z para comprimir los resultados de MSI en un archivo zip de 2.4 MB.Compresión máxima de una instalación de MSI con WIX

Pregunta: ¿Cómo puedo hacer una compresión máxima en la MSI o crear una pequeña MSI (por ejemplo, eliminar recursos innecesarios, etc.)?

Nota: el tamaño es súper importante y tengo que usar MSI/WIX ahora - ¡esto es un obstáculo para mostrar!

Respuesta

6

El problema era un elemento ICON que hacía referencia un archivo de origen - el exe principal - y luego incluyó el exe nuevamente, esta vez sin comprimirlo como recurso.

   <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>... 

Y más abajo:

<Icon Id="StartMenuIcon.exe" SourceFile="..\app\app.exe" /> 

me pareció utilizando 7Zip para abrir el archivo MSI resultante y se produjo un tamaño del archivo familiar - el exe principal sin comprimir.

Archivo MSI resultante ahora 1.4 MB y a la par con NSIS.

+0

Los mapas de bits también pueden ser una causa de reventón de tamaño. Puede ahorrar bastante utilizando archivos BMP comprimidos en 256 colores en lugar de archivos descomprimidos de 24 bits :) – saschabeaumont

+0

Lamentablemente, el "bling" es muy necesario, la mayoría son png aunque – MX4399

+1

Gracias, eso resolvió mi problema. Usé un archivo ico personalizado. ¿Hay alguna manera de hacer referencia al ícono ejecutable para que se conserve el comportamiento original? – tuscland

1

¿Intentó establecer el atributo CompressionLevel = 'high' en el elemento Media? Además, debo decir que WiX incluye solo las cosas que le indica que incluya, por lo tanto, no creo que pueda encontrar nada para abandonar su paquete ...

+0

Ayudado un poco - 200 kb – MX4399

Cuestiones relacionadas