toolset setup msi instalador inno advanced installer wix windows-installer nsis

setup - nsis windows installer



Software gratuito para instaladores de Windows: NSIS vs. WiX? (8)

Necesito elegir un paquete de software para instalar el software. NSIS y WiX parecen prometedores. ¿Cuál recomendaría usted sobre el otro y por qué?

Siéntete libre de ofrecer algo más si crees que es mejor que estos dos.


NSIS le dará un exe, WiX le dará un MSI.

He usado NSIS para empaquetar un par de instaladores de MSI en un solo exe y hacer algunas comprobaciones adicionales que no pude averiguar cómo hacerlo usando el proyecto de configuración de VS.NET.

La instalación de INNO es otro instalador que tal vez quiera consultar. Está más cerca de NSIS que de WiX, pero los instaladores lo hacen parecerse más a los instaladores estándar que a los instaladores de NSIS.

No usé WiX porque no me gustaba el lenguaje de definición XML utilizado para construir el instalador y no pude averiguar si admitía el empaquetado de otras MSI dependientes.

De los tres, me gustó más NSIS ya que tenía la mejor documentación.


Personalmente, solo he probado WiX. Tiene una curva de aprendizaje ligeramente empinada (a menos que logre encontrar una buena IU gráfica para ello), pero debería pagar al final porque usa el formato Windows Installer (MSI) en lugar de un EXE personalizado como (creo) que NSIS lo hace . El enfoque declarativo de WiX / MSI generalmente se ve favorecido hoy en día, y se considera más confiable. Sin embargo, si solo quiere una solución rápida y fácil, NSIS podría ser la opción, ya que debería tener muchas muestras y una buena base de soporte (aunque personalmente solo usaría un paquete de instalación de Visual Studio para algo así). Esta publicación de blog parece discutir el asunto bastante bien.


Si desea obtener un instalador hoy , con la cantidad mínima de gastos generales, use NSIS. Lenguaje de scripting simple, buena documentación, rápido.

Si desea compilar archivos MSI, integrarlos con el sistema transaccional de Windows Installer y tener mucho tiempo para dedicarlos a aprender el modelo declarativo utilizado por Windows Installer, entonces consulte WiX.


Utilizo NSIS en el trabajo (lo traje y convertí a nuestro viejo material de InstalShield), y me gusta.

No puedo hablar de las otras opciones, pero NSIS puede ser complicado para un flujo de instalador más complicado y el lenguaje de scripts es algo crudo para tipos más detallados de cosas (más como ensamblador que un lenguaje de alto nivel).


Deberías echarle un vistazo a InstallJammer . No solo es gratis, es multiplataforma y muy fácil de usar. Las acciones más comunes no requieren ninguna secuencia de comandos, pero con un potente lenguaje de scripting debajo del capó, puede hacer que una instalación haga casi cualquier cosa que desee.

Si todo lo que desea es un instalador básico para instalar su aplicación, puede hacerlo en cuestión de minutos desde la primera vez que lo inicie. Si desea algo más poderoso, las capacidades y la documentación son excelentes.


Además, tal vez darle una oportunidad a Inno Setup . Claro, puede ser un poco extraño, ya que te obliga a escribir código personalizado en Pascal, pero una vez más, ya casi no hay nada que te obligue a hacer un código personalizado: Inno Setup es realmente muy poderoso.

Inno Setup también genera instaladores EXE . Si desea que su aplicación sea fácilmente implementable en entornos empresariales, probablemente deba ir a la ruta WiX, aunque personalmente tuve bastante problemas relacionados con MSI como usuario que yo personalmente preferiría que MSI muriera de forma lenta y horrible (bueno, de hecho, una muerte rápida sería favorable en este punto, pero horrible, puede ser), así que sigue adelante y haz lo de EXE.

Asi que.

  • NSIS : Requiere que aprendas un nuevo idioma. Crea instaladores EXE.
  • WiX : creación de configuración declarativa, aunque un poco de bajo nivel. Ciertamente requiere algunos conocimientos fundamentales de MSI que me resulta muy difícil de detectar debido a la falta general de tutoriales fáciles.
  • Inno Setup : te permite crear instaladores EXE bastante potentes con una sintaxis fácil, en gran parte basada en archivos .INI, pero te obliga a aprender Pascal si necesitas una codificación personalizada.

Como un codificador de Delphi desde hace mucho tiempo, siempre iba a Inno Setup, aunque eso es probablemente muy parcial (soy un fan de Inno Setup desde 1996).


He usado NSIS. No puedo comentar sobre los demás, sin embargo, creo que hay bastantes comentarios que ayudan a tomar una decisión objetiva (si no lo has hecho ya). El software HMNSIS es ideal para crear un instalador simple para una aplicación simple. Tiene un asistente incorporado y es un buen IDE para NSIS.

También estoy de acuerdo en que es un software libre bastante bien documentado. Sin embargo, como dije, debido al hecho de que no he necesitado nada más (porque me gusta NSIS) no puedo comparar.


Esto es más o menos un duplicado de * Cuál es la mejor opción para construir instaladores de Windows , así que sugiero que revisen las muchas, muchas respuestas que hay allí (también hay una discusión sobre las alternativas comerciales allí).

La pregunta que debe hacerse es: ¿Necesito ser compatible con los escenarios de implementación corporativa para la implementación de SMS / Active Directory ? Si la respuesta es sí, aprende los fundamentos de MSI .

Si desea enviar una aplicación que es realmente solo por diversión o no necesita ser admitida en un entorno corporativo y no quiere perder mucho tiempo para ponerse al día, entonces aprenda NSIS.