Instaladores para Windows

Ha pasado mucho tiempo desde que en mi primer trabajo usáramos un instalador desarrollado a medida con Borland C++ para poder distribuir nuestras aplicaciones.

Luego vino el instalador incluido en Visual Basic 5, posteriormente Installshield, luego Wise, …

Hubo productos que no aportaron nada especialmente original, como Installshield Express, o Vise.

En aquella época los instaladores eran aplicaciones bastante costosas, los productos gratuitos que había en el mercado, sencillamente no daban la talla.

Las cosas han cambiado bastante, y ahora lo que más se ve en las distribuciones es la utilización de instaladores gratuitos.

Voy a centrarme en los 3 instaladores que mejor conozco, Wise Installation System 9.02, InnoSetup 5.0.4 y NSIS 2.01.

Wise Installer es el producto que lleva en evolución desde hace muchos años, y que se ha ido poniendo al día poco a poco. Aunque la última versión lleva ya más de 2 años sin cambios. Lo que le hizo ganar terreno a la competencia del momento, por aquel entonces Installshield, fue la capacidad de personalización, la facilidad de uso, lo pequeños que eran los instaladores, y la posibilidad de generar instaladores en un solo ejecutable.

InnoSetup fue de las primeras iniciativas para desarrollar un instalador gratuito, de código abierto. El resultado es un programa fácil de usar, no demasiado potente, y con un excelente ratio de compresión debido al algoritmo LZMA disponible en las últimas versiones. Sus principales inconvenientes son el tamaño de los ejecutables que se generan, que lamentablemente incluyen más del necesario código Delphi.

NSIS es el instalador usado internamente por Nullsoft, principalmente en el WinAmp, y que posteriormente fue liberado. Es un instalador potente, con una capacidad de compresión LZMA muy buena, y que genera ejecutables muy pequeños. No es sencillo de utilizar, pero vale la pena invertir el tiempo en él.

Para que os hagais una idea, el instalador de la versión en desarrollo de XPlorer, contiene dos archivos que ocupan 450 Kb, incluye un desinstalador, y crea unos accesos directos en el menú inicio y en el escritorio, es decir, nada fuera de lo común. Empaquetado con Wise, necesita 970 Kb, con InnoSetup solamente 685 Kb, pero con NSIS 476 Kb.



14 comentarios en “Instaladores para Windows”

  1. El instalador que utilizas obtiene buenos ratios pero creo que no soporta el formato MSI de Microsoft.
    Este formato proporciona múltiples ventajas como la instalación via web, posible reinstalación en caso de corrupción (incluso vía web), instalación en múltiples máquinas de una red…
    Creo que las últimas versiones de InstallShield y Wise soportan este tipo de instaladores y supongo que habrá alguno más gratuito (lo desconozco)

  2. Seguro que InstallShield y Wise ofrecen productos capaces de generar instaladores MSI.

    Tampoco se si hay algún producto gratuito que lo permita, salvo claro está el propio SDK de Microsoft.

    Personalmente no me gusta demasiado MSI, principalmente requiere que el equipo de destino tenga Windows Installer instalado, y las ventajas que ofrece, únicamente son necesarias en productos más complejos.

  3. Hola,

    Nosotros acabamos de sacar una version beta de nuesto instalador para Windows (antes era solo de Linux). Es facil de usar, tenemos versiones gratuitas para desarrolladores de Open Source (Xplorer tambien estaria cualificado) y, muy importante, made in Spain 🙂

    http://www.bitrock.com

    Un saludo

    Daniel

  4. Daniel López me he descargado InstallBuilder 2.0 Beta 1.

    La idea del producto es buena, un instalador multi-plataforma, pero nativo x86, y no basado en Java ni .NET.

    Lamentablemente, y pese a que se cita Los instaladores de BitRock están optimizados en tamaño y velocidad el instalador final ha necesitado 1.987 Kb.

    Creo que deberíais reducir el tamaño y las dependencias de runtime.

  5. Hola Guti

    Lo de la optimizacion se refiere en comparacion a otros instaladores multiplataforma como InstallAnywhere o InstallShield Multiplatform, que requieren un JRE y son unos 15-21Mb de overhead,
    no en comparacion a los de Windows

    Es dificil superar los 18K de NSI 🙂 pero reducir el runtime del instalador en Windows es uno de los objetivos de 2.1

    Un saludo

    Daniel

  6. En ese sentido, arrasais con los instaladores Java, y personalmente me alegro, porque nunca me han convencido.

    Sería una idea magnífica. Calculo que ahora debeis estar metiendo unos 1,5 Mb de stub, y claro se nota bastante.

    Entiendo que las librarías gráficas multiplataforma que usais, tienen un tamaño que hace que el resto de ejecutables (stub, desinstalador), engorden.

    Para que te hagas una idea, aunque ya lo debes saber, InnoSetup, escrito en Delphi añade unos 300 Kb.

    Espero con ansias la versión 2.1.

  7. vaya, esta es la web que estaba buscando¡¡¡¡

    hace poko k me he metido en este mundillo de los instaladores, empece hace poko kon installanywhere k me parecio muy facil de usar y muy potente, el otro dia me baje el jsmooth k aun no lo use pero parece muy completo……y veo k ay muchos mas q me gustaria probar

    he tenido algunos problemas con el installaanywhere k espero m podaais aclarar:
    me baje la version de evaluacion del programa(21 dias), el pasado 20 de abril kree mi instalador y me iba perfecto, pero al intentar instalarlo el 27 de abril me decia q habia caducado¡¡¡¡¡¡ pk me dice esto si solo habian pasado 7 dias d los 21???ya he probado con 2 versiones distintas(la 7.1.0 y la 7.1.3) y en las dos me pasa lo mismo ¿alguien lo uso y sabe porke me pasa esto?

    tambien tengo algunos komentarios sobre el installanywhere k veo allgo flojos en este gran programa: al instalñarlo en el grupo de programas q se crea solo aparece un enlace a la aaplikacion, pero no aql desinstralador de la aplikacion (pero si se crea en c:Archivos de programa\…..), kreo k este es un detalle k no ace justicia al programa y k si se korijiera le haria ganar puntos

    weno gracias de antemano, un salu2…….ciao

  8. q significa cdo guti dice q es ", un instalador multi-plataforma, pero nativo x86, y no basado en Java ni .NET",
    y k significa "para desarrolladores de OpenSource"?significa esto q es freeware??

    graciass de antemano 😀

  9. Lo siento, no tengo experiencia profunda con InstallAnywhere. Digamos que lo probé por encima y no me convenció. A ver si alguien por aquí puede echarte una mano con ello austral.

    Respecto a tu pregunta, significa que es un producto disponible para varios sistemas operativos, pero que los instaladores que se generan son nativos, es decir código binario de procesadores compatibles Intel x86 de 32 bits. Evidentemente esto no tiene nada que ver con que sean Opensource o freeware.

  10. gracias guti:D
    perdona..pero sigo sin entender q significa "nativo" y la diferencia con "basado en java"

    en fin muxas gracias por responder..xiao:D

    q me podeis decir del jsmooth?? lo konoceis??

  11. Nativo significa está escrito con las instrucciones que tu CPU es capaz de entender de forma directa.

    Basado en Java significa que se genera un código intermedio, que es traducido por la máquina virtual, y después interpretado por la CPU.

    Debido a estos procesos adicionales, típicamente, una aplicación Java es aproximadamente 5 veces más lenta que una escrita en C++.

Deja un comentario