Ir al contenido

Nullsoft Scriptable Install System

De Wikipedia, la enciclopedia libre
Nullsoft Scriptable Install System

NSIS Installer
Información general
Tipo de programa Instalador de programas
Desarrollador Nullsoft
Lanzamiento inicial 31 de julio de 2010 (15 años, 5 meses y 15 días)
Licencia zlib License
Información técnica
Programado en C, C++
Versiones
Última versión estable 3.03 (info) (29 de enero de 2018 (7 años, 11 meses y 17 días))
Archivos legibles
  • Nullsoft Scriptable Install System
  • NSIS file format
  • NSIS script (with rem)
Archivos editables
NSIS script (with rem)
Enlaces

Nullsoft Scriptable Install System (NSIS) es programa de instalación de software para Windows de código abierto con requerimientos mínimos, desarrollado originalmente por Nullsoft, que uso para el instalador de su reproductor multimedia Winamp, entre otros. NSIS ha crecido en popularidad como una alternativa al uso extenso de productos comerciales como InstallShield y es actualmente utilizado para un sinnúmero de aplicaciones distribuidas a través de Internet.

El código fuente de NSIS y sus descargas son ofrecidos vía SourceForge, donde NSIS fue premiado Proyecto de mes en enero de 2006. El instalador es una alternativa popular a instaladores comerciales como InstallShield. [1]​ NSIS es liberado bajo una combinación de licencias de software libre, principalmente la licencia de zlib/libpng, de esta forma haciendo a NSIS software libre.

NSIS en sí, se compone solo de un compilador de intérprete de comandos y una interfaz gráfica de usuario para el compilador, que ayuda a compilar e simplifica algunas configuraciones. El instalador incluye una compresión LZMA, y soporte de extensiones, características multilingüe.[2]​ Algunas frontales de terceras están disponibles para NSIS.

Características (Selección)

[editar]
  • Pequeño sobrecoste aproximado de 34 KB
  • Compatible con todos los sistemas Windows (Windows 95, 98, 2000, 2003, 2008, ME, NT, XP, Vista, 7, 8, 10)
  • Tres algorítmos de compresión diferentes (zlib, bzip2, y el algóritmo de Lempel-Ziv-Markov), opcionalmente con compresión firme
  • 49 idiomas, incluyendo idiomas de derecha a izquierda.
  • Sistema de complementos para una extencsión casi ilimitada de las características ya amplias (ej., hay extensiones para operaciones de matriz, funciones matemáticas avanzadas, o el control de procesos y servicios de Windows)
  • Compilación del instalados en Windows o en un sistema operativo compatible con la norma POSIX como Linux o FreeBSD (actualmente solo con soporte de plataformas con la arquitectura de procesadores x86)
  • Además de un "diseño clásico", hay también un diseño moderno similar a los instaladores privativos.

A través del lenguaje de intérprete y la interfaz de complementos, se pueden implementar funciones casi ilimitadas en instaladores de escritura propia. Esto incluye la administración de servicios del sistema, instalaciones en línea, actualizaciones dinámicas, y funciones de reparación y restitución.

Funcionalidad

[editar]

Un instalador está basado en un guion o archivo de intérprete, donde cada línea es una instrucción. El archivo de intérprete es compilado en un archivo ejecutable conteniendo todos los archivos (comprimidos) programa de instalación (guion de comandos) por el compilador de línea de comandos "makensis.exe", que puede ser fácilmente distribuido. MakeNSISW está disponible como una interfaz gráfica para makensis.

 ; Guion de ejemplo
 Name "MiEjemplo"
 OutFile "instalador.exe"
 SetCompressor lzma
 InstallDir "$PROGRAMFILES\ejemplo"
 InstallDirRegKey HKLM "SOFTWARE\ejemplo" "installdir"
 LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
 Page directory
 Page instfiles
 Section
   SetOutPath $INSTDIR
   File "miejemplo.exe"
   WriteRegStr HKLM "SOFTWARE\ejemplo" "installdir" "$INSTDIR"
   CreateShortCut "$DESKTOP\ejemplo.lnk" "$OUTDIR\miejemplo.exe"
 SectionEnd

Las imágenes adyacentes muestran el resultado del guion de arriba. Usando complementos como el "Modern UI" o complementos específicos, se pueden crear instaladores visualmente atractivos.

Gracias a los algoritmos de compresión y el bajo sobrecosto, es posible la creación de interfaces muy livianas, haciendo a NSIS ideal para distribuír los programas en línea.

Historia

[editar]

En 1997, Justin Frankel, programador de Sedona (Arizona), fundó Nullsoft, Inc. en su ciudad natal. El nombre de la empresa es una parodia de Microsoft.[3]​  Mike la Llama es la mascota de la empresa.  La empresa lanzó el reproductor multimedia Winamp en 1997, desarrollado por Frankel y Dmitry Boldyrev. Fue el segundo reproductor de MP3 en tiempo real para Windows, después de WinPlay3.[4]

NSIS fue creado para distribuir Winamp. Está basado en un producto previo de Nullsoft, PiMP (plugin Mini Packager), y además es conocido como SuperPiMP. Después de la versión 2.0a0, el proyecto fue pasado a SourceForge, donde desarrolladores fuera de Nullsoft empezaron a trabajar en él en una forma básica. NSIS 2.0 fue liberado aproximadamente dos años más tarde.

La versión 1 de NSIS es en muchas formas similar al clásico Instalador de Windows, pero es mucho más fácil de codificar y soporta más formatos de compresión. La versión 2 de NSIS tiene una nueva interfaz GUI y soporta la compresión LZMA, múltiples lenguajes y un sistema sencillo de plugins. La versión 3 de NSIS incluye compatibilidad con Unicode opcional, sigue funcionando en las mismas versiones de Windows y además es compatible con Windows 10.

Nullsoft, junto con Spinner.com , se vendió a America Online (AOL) el 1 de junio de 1999 por unos 400 millones de dólares y, a partir de entonces, funcionó como subsidiaria, convirtiéndose posteriormente en una división de AOL Music. La sede se trasladó a San Francisco (California).[5][6]

Según Bonnie Burton, entonces editora del sitio web Winamp.com, 2001 fue un período de gran tensión entre el personal de Nullsoft y la alta dirección, debido a la postura inflexible de Frankel sobre el intercambio de archivos. Había desarrollado Gnutella en 2000 y lo había publicado utilizando la infraestructura de la empresa.[7][8]​ Ars Technica también señaló que AOL no logró monetizar eficazmente ni encontrar una mayor audiencia para Winamp.[9]​ Las oficinas de Nullsoft en San Francisco cerraron en diciembre de 2003, con la salida casi simultánea de Frankel y del equipo original de desarrollo de Winamp.[3][5]​ En 2013, algunos sitios de AOL Music cerraron y otros se vendieron a Townsquare Media.[10][11][12]

En noviembre de 2013, surgió un informe no oficial que indicaba que Microsoft estaba en conversaciones con AOL para adquirir Nullsoft.[13]​ El 14 de enero de 2014, se anunció oficialmente que el agregador de radio en línea belga Radionomy había comprado Winamp y Shoutcast, anteriormente propiedad de Nullsoft. No se anunciaron públicamente los detalles financieros.[14][15]

Securidad

[editar]

Instaladores creados con NSIS, tienen vulnerabilidades cuando se usa una versión anterior.[16][17][18][19][20][21]​ Potenciales vulnerabilidades fueron corregidas en las versiones 2.47,[22]​ 2.50,[23]​ y 2.51.[24]

Frontales de terceras

[editar]

El desarrollo de instaladores NSIS es soportado por algunas programas de terceras:

  • El generador de sistema de construcción CMake CPack tiene un generador de trasero (back-end) para NSIS.[25]
  • EclipseNSIS es una extensión comprensiva para Eclipse, que es para editar, compilar y probar guiones de NSIS.[26]
  • HM NIS EDIT es un entorno integrado de desarrollo (IDE) para NSIS.[27]
  • Debian tiene un paquete NSIS para crear instaladores de Windows en Linux.[28]

Referencias

[editar]
  1. Dey, N. (2021). Cross-Platform Development with Qt 6 and Modern C++: Design and build applications with modern graphical user interfaces without worrying about platform dependency (en inglés). Packt Publishing. p. 339. ISBN 978-1-80020-885-8. Consultado el 26 de abril de 2024. 
  2. Dey , 2021, p. 339.
  3. a b «Rolling Stone : The World's Most Dangerous Geek». www.rollingstone.com. Archivado desde el original el 21 de marzo de 2007. Consultado el 30 de julio de 2025. 
  4. Jowitt, Tom (25 de agosto de 2017). «Tales In Tech History: Winamp». Silicon UK (en inglés británico). Consultado el 30 de julio de 2025. 
  5. a b nmook (10 de noviembre de 2004). «Death Knell Sounds for Nullsoft, Winamp». BetaNews (en inglés). Consultado el 30 de julio de 2025. 
  6. «AOL buys Spinner, Nullsoft for $400 million - CNET News». CNET (en inglés). Archivado desde el original el 8 de diciembre de 2013. Consultado el 30 de julio de 2025. 
  7. bio, See full. «Waving goodbye to Winamp, paying respects to Nullsoft». CNET (en inglés). Consultado el 30 de julio de 2025. 
  8. «TECHNOLOGY; Free Music Software May Have Rattled AOL (Published 2000)» (en inglés). 20 de marzo de 2000. Consultado el 30 de julio de 2025. 
  9. Farivar, Cyrus (3 de julio de 2017). «Winamp’s woes: How the greatest MP3 player undid itself». Ars Technica (en inglés). Consultado el 30 de julio de 2025. 
  10. Constine, Josh (2 de junio de 2013). «Townsquare Media Acquires Some Doomed AOL Music Sites And Comics Alliance». Techcrunch. Consultado el 7 de junio de 2013. 
  11. Cooper, Charles (26 de abril de 2013). «AOL shuts down music-related services». CNET News. Consultado el 7 de junio de 2013. 
  12. Solsman, Joan E. (3 de junio de 2013). «Radio chain picks up pared-down AOL music sites». CNET News. Consultado el 7 de junio de 2013. 
  13. Kastrenakes, Jacob (21 de noviembre de 2013). «AOL reportedly wants to sell Winamp to Microsoft». The Verge (en inglés estadounidense). Consultado el 30 de julio de 2025. 
  14. Lunden, Ingrid (1 de enero de 2014). «AOL Sells Winamp And Shoutcast Music Services To Online Radio Aggregator Radionomy». TechCrunch (AOL). 
  15. «Winamp lives on after acquisition by Radionomy». The Verge. 14 de enero de 2014. Consultado el 14 de enero de 2014. 
  16. FullDisclosure: Executable installers are vulnerable^WEVIL (case 2): NSIS allows remote code execution with escalation of privilege
  17. FullDisclosure: Arbitrary code execution resp. escalation of privilege with Mozilla's SETUP.EXE
  18. FullDisclosure: Executable installers are vulnerable^WEVIL (case 10): McAfee Security Scan Plus, WebAdvisor and CloudAV (Beta)
  19. FullDisclosure: Executable installers are vulnerable^WEVIL (case 11): Nmap <7.01 and Nmap-WinPcap <4.13
  20. Gpg4win: Security Advisory Gpg4win 2015-11-25
  21. Intel: Intel Security – Security Bulletin: Security patch for several McAfee installers and uninstallers
  22. Appendix F: Changelog and Release Notes
  23. Appendix F: Changelog and Release Notes
  24. Appendix F: Changelog and Release Notes
  25. https://cmake.org/cmake/help/latest/cpack_gen/nsis.html
  26. https://eclipsensis.sourceforge.net/index.shtml
  27. https://hmne.sourceforge.net
  28. https://packages.debian.org/sid/nsis

Enlaces externos

[editar]