Sistema de instalación programable de Nullsoft

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Nullsoft Scriptable Install System (NSIS) es una herramienta de creación de instaladores basada en scripts para Microsoft Windows respaldada por Nullsoft, los creadores de Winamp. NSIS se publica bajo una combinación de licencias de software libre, principalmente la licencia zlib. Se ha convertido en una alternativa ampliamente utilizada a los productos patentados comerciales como InstallShield, con usuarios como Amazon, Dropbox, Google, Ubisoft, FL Studio, BitTorrent y McAfee.

Historia

NSIS se creó para distribuir Winamp. Se basa en un producto anterior de Nullsoft, PiMP (complemento Mini Packager), y también se conoce como SuperPiMP. Después de la versión 2.0a0, el proyecto se trasladó a SourceForge, donde los desarrolladores externos a Nullsoft comenzaron a trabajar en él de manera regular. NSIS 2.0 se lanzó aproximadamente dos años después.

NSIS versión 1 es en muchos aspectos similar al clásico Windows Installer, pero admite más formatos de compresión. La versión 2 de NSIS presenta una nueva interfaz gráfica de usuario optimizada y es compatible con la compresión LZMA, varios idiomas y un sistema de complementos fácil de usar.

Did you mean:

In January 2006 NSIS was SourceForge 's project of the month.

Ejemplos de guiones

¡Hola mundo!

! incluir "MUI.nsh"!insertmacro MUI_LANGUAGE "Inglés"Nombre "¡Hola mundo!" # Nombre del instalador.OutFile "HelloWorld.exe" # Nombre del archivo del instalador.Función .onInit Función que se ejecutará en el arranque del instalador. MensajeBox MB_OKSilencioMB_ICONINFORMATION "¡Hola mundo!" # Mostrar un mensaje que dice "¡Hola mundo!". Qui # Cierre el instalador porque este es un simple "Hola mundo!" instalador.FunciónEndSección # Sección inútil porque es un simple instalador de "Hola mundo".SecciónEnd

Instalador sencillo

! incluir "MUI.nsh"! definir MUI_ABORTWARNING # Esto advertirá al usuario si salen del instalador.!insertmacro MUI_PAGE_WELCOME # Bienvenido a la página del instalador.!insertmacro MUI_PAGE_DIRECTORY # En qué carpeta instalar página.!insertmacro MUI_PAGE_INSTFILES # Instalación de página.!insertmacro MUI_PAGE_FINISH # Terminado página de instalación.!insertmacro MUI_LANGUAGE "Inglés"Nombre "MyApp" # Nombre del instalador (generalmente el nombre de la aplicación para instalar).OutFile "MyAppInstaller.exe" # Nombre del archivo del instalador.InstallDir "$PROGRAMFILESMyApp" # Carpeta de instalación predeterminada ($PROGRAMFILES es carpeta Archivos de programa).MostrarDetalles show # Esto siempre mostrará los detalles de la instalación.Sección "MyApp" # En esta sección agrega tus archivos o tus carpetas. # Añade tus archivos con "File (Name of the file)", ejemplo: "File "$DESKTOPMyApp.exe" ($DESKTOP es carpeta de escritorio); o añade tus carpetas siempre con "File (Name of the folder)*", agrega siempre tus carpetas con un asterisco, ejemplo: "File /r $DESKTOPMyApp*" (esto añadirá sus archivos y subfold).SecciónEnd

Instalador simple que agrega un acceso directo en el menú de inicio y viene con un desinstalador

# define nombre del instaladorOutFile "InstallMyApp" # define installation directoryInstallDir $LOCALAPPDATAProgramasmyapp
 # Para eliminar el acceso directo del menú Inicio en Windows 7RequestExecution Nivel usuario # Start default sectionSección  # Establecer el directorio de instalación como destino para las siguientes acciones SetOutPath $INSTDIR  # crear el desinstalador WriteUninstaller "$INSTDIRuninstall.exe"  # apunta el nuevo atajo en el desinstalador del programa CreateShortcut "PROGRAMASMy App.lnk" "$INSTDIRmyapp.exe" CreateShortcut "PROGRAMASMy App Uninstall.lnk" "$INSTDIRuninstall.exe" Archivo /r "C:pathtowheremyfilesare*"SecciónEnd # Uninstaller section startSección "Desinstalar"  # first, delete the uninstaller Suprimir "$INSTDIRuninstall.exe"  # second, remove the link from the start menu Suprimir "PROGRAMASMy App.lnk" Suprimir "PROGRAMASMy App Uninstall.lnk"  Suprimir $INSTDIR# Uninstaller section endSecciónEnd

Conceptos

NSIS 1.98

Guión

El programa compilador NSIS makensis compila scripts como el siguiente ejemplo en programas de instalación ejecutables. Cada línea del script contiene un solo comando.

# EjemploNombre "Example1"OutFile "jubaowu.exe"InstallDir "$PROGRAMFILESExample1"Página Directorio
Página InstFiles
Sección SetOutPath $INSTDIR Archivo ..makensis.exe
SecciónEnd

Interfaz de usuario moderna

La versión 2.0 introdujo una nueva interfaz gráfica de usuario optimizada opcional llamada Modern UI (MUI). El MUI tiene una interfaz similar a un asistente. Admite una página de bienvenida, una página de finalización, un cuadro de diálogo de selección de idioma, un área de descripción de los componentes y mayores opciones de personalización que la antigua interfaz de usuario.

# Modern UI example script! incluir MUI.Nsh
Nombre "Ejemplo 2"OutFile "Example2.exe"!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.rtf"!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Inglés"!insertmacro MUI_LANGUAGE "German"!insertmacro MUI_LANGUAGE "French"Sección "Extract makensis" SetOutPath $INSTDIR Archivo ..makensis.exe
SecciónEnd

Desde la versión 2.30 de NSIS (lanzada el 25 de agosto de 2007), hay una nueva versión (beta) de esta interfaz de usuario accesible: Modern UI 2 (MUI2), que es una mejora de Modern UI. A diferencia del antiguo MUI, esta versión se basa en nsDialogs en lugar de los antiguos archivos InstallOptions.ini.

A partir de la versión 2.34 (lanzada el 24 de diciembre de 2007) este MUI2 está listo para el consumo masivo y está incluido en todos los paquetes NSIS. También todos los ejemplos habían sido cambiados a él.

Documentación de la interfaz de usuario moderna 2.

Interfaces gráficas

Los proyectos NSIS se pueden configurar simplemente editando archivos de texto (con extensión.nsi). Sin embargo, varios terceros proporcionan software de edición:

  • EclipseNSIS es un módulo para la plataforma Eclipse. Permite editar, compilar y validar scripts NSIS.
  • HM NIS Editar (freeware) editor con soporte de plug-ins personalizados C++ o Delphi.
  • Venis (freeware) editor
  • Visual & Installer es un complemento que integra NSIS con Microsoft Visual Studio IDE y permite crear y construir proyectos de NSIS en su interior.

Interfaces del instalador

En los últimos años se han iniciado varios proyectos que amplían o reemplazan la interfaz de usuario moderna. Las interfaces como ExperienceUI y UltraModernUI cambian por completo el estilo del instalador al modificarlo para que se parezca a la interfaz InstallShield. Otras interfaces como installSpiderUI apuntan a un enfoque más minimalista en el lado visual de las cosas mientras mantienen el mismo nivel de funcionalidad que el ASD.

Complementos

NSIS se puede ampliar con complementos que pueden comunicarse con el instalador. Los complementos se pueden escribir en cualquier lenguaje de programación no administrado capaz de crear una biblioteca de enlaces dinámicos (como C, C++ o Delphi), y se pueden usar para realizar tareas de instalación o ampliar la interfaz del instalador. Se puede llamar a un complemento con una sola línea de código NSIS.

Varios complementos vienen con el paquete NSIS que permite al instalador mostrar una pantalla de inicio, mostrar una página personalizada, mostrar una imagen en el fondo, descargar archivos de un sitio web, realizar operaciones matemáticas, parchear archivos y más.

Otros complementos están disponibles en línea, incluidos ZipDLL y un complemento de Python.

Características

NSIS es compatible con las siguientes características:

  • zlib, bzip2, y compresión LZMA
  • Basado en scripts
  • Multilingüe
  • Soporte de plugin
  • Preprocesador de script

Instaladora generada

(feminine)

El instalador generado es un ejecutable portátil, con los archivos de instalación archivados dentro del instalador, una sobrecarga de 34 KB para el instalador NSIS y el script de instalación compilado en código ejecutable. A medida que se compila el script de instalación, el script no se puede obtener del ejecutable entregado sin aplicar ingeniería inversa al binario.

Did you mean:

The archive may be unpacked using 7-Zip, the Total Commander plugin Install Explorer, of the FAR Manager plugin Install Explorer.

El archivo contiene varias carpetas:

  • $PLUGINSDIR: plugins de rutina de instalación
  • $INSTDIR: archivos utilizados durante la instalación
  • $_OUTDIR: archivos a instalar.

El instalador generado incluye argumentos de línea de comando para dar a los usuarios más control:

  • /NCRC deshabilita el cheque CRC, a menos que el script lo obligue
  • /S ejecuta el instalador / desinstalador silenciosamente.
  • /D establece el directorio de instalación predeterminado. Debe ser el último parámetro y no debe contener ninguna cita. Sólo se apoyan caminos absolutos.

Compatibilidad con Unicode

Las versiones de NSIS anteriores a la 3.0 no admitían Unicode, sino solo un medio para convertir algunos archivos a diferentes codificaciones a través de un complemento. Sin embargo, está disponible una variante de NSIS que tiene compatibilidad total con Unicode. Los proyectos notables que utilizan esta variante son:

  • Google (Picasa)
  • Apache OpenOffice para Windows
  • Mozilla (Firefox, Mozilla Thunderbird)
  • FileZilla
  • Winamp
  • Flickr
  • PortableApps.com
  • Segunda vida
  • Xampp
  • AVG
  • TeamViewer

Con el lanzamiento de la versión 3.0 de NSIS, la compatibilidad con Unicode se puede implementar mediante la directiva del compilador "Unicode true". Esto brinda compatibilidad total con Unicode sin más cambios en el código, pero el instalador no se ejecutará en Windows 95/98/Me. A partir de 2016, antes de la versión 3.0, NSIS estaba disponible en formato PortableApps para Unicode 2.46.5 Rev 3 y ANSI 2.51.

Contenido relacionado

Durabilidad (sistemas de bases de datos)

La durabilidad se puede lograr vaciando los registros de la transacción en un almacenamiento no volátil antes de reconocer el...

Tejas y Jayhawk

Tejas era el nombre en clave del microprocesador de Intel, que sería el sucesor del último Pentium 4 con el núcleo Prescott y a veces se lo denominaba...

LyX

LyX es un procesador de documentos de interfaz gráfica de usuario de código abierto basado en el sistema de composición tipográfica LaTeX. A diferencia de...
Más resultados...
Tamaño del texto:
Copiar