Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 3956|Respuesta: 6

NSIS (1) Crear un instalador sencillo

[Copiar enlace]
Publicado en 28/1/2024 9:42:28 | | | |
Requisitos: He desarrollado una aplicación usando Winform y quería crear un instalador para instalar y ejecutar esta aplicación, demostrando que el producto es más formal.

Introducción a NSIS

NSIS (Nullsoft Scriptable Install System) es un sistema profesional de código abierto para crear instaladores de Windows. Está diseñado para ser lo más pequeño y flexible posible, lo que lo hace ideal para la distribución por internet.

Como primera experiencia de un usuario con un producto, un instalador estable y fiable es una parte importante de un software exitoso. Con NSIS, puedes crear un instalador capaz de realizar todas las operaciones necesarias para instalar software.

NSIS es basado en scripts, lo que te permite crear lógica para manejar las tareas de instalación más complejas. Ya hay muchos plugins y scripts disponibles: puedes crear instaladores web, comunicarte con Windows y otros componentes de software, instalar o actualizar componentes compartidos, y más.


Descarga NSIS:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.

Plugins NSIS:El inicio de sesión del hipervínculo es visible.

HM NIS EDITAR descargar:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.

HM NIS EDIT: Editor/IDE gratuito de NSIS: HM NIS Edit es el mejor editor/IDE para el Sistema de Instalación de Scripts de Nullsoft (NSIS). Es muy útil para expertos y principiantes que usan NSIS para crear instaladores. Su asistente de scripts te ayudará a crear un instalador estándar con solo unos clics, y su diseñador de InstallOptions te ayudará a crear tus propias páginas personalizadas con una interfaz amigable de arrastrar y soltar.

Descargar e instalar

Descarga el software NSIS y HM NIS EDIT, instala primero NSIS y luego instala HM NIS EDIT, como se muestra a continuación:



Crea un paquete de instalación

Crea una nueva aplicación Winform, utiliza la herramienta IDE para crear una nueva aplicación Winform de .NET framework 4.7.2 (omitido), compilála, y utiliza NSIS para crear un paquete de instalación.

Abre la herramienta HM NIS EDIT y selecciona File-> New Script: Wizard, como se muestra a continuación:



Personaliza la información de la solicitud según tu situación real, como se muestra en la figura siguiente:



Desmarca "English" y selecciona "Chino simplificado" como se muestra en la siguiente figura:



Establezca la ruta del archivo de autorización como se muestra en la siguiente figura:



Especifica el archivo de aplicación, elimina la configuración existente y luego añade nuestro directorio de aplicaciones como se muestra en la figura siguiente:




Haz clic en Siguiente, como se muestra a continuación:



Por favor, rellena el programa, los parámetros y infórmate según tu propia situación, como se muestra en la figura siguiente:



Desinstala la configuración del programa como se muestra en la siguiente figura:



El último paso es guardarlo como un script test.nsi para la siguiente compilación, como se muestra a continuación:



Compila el script y genera el paquete de instalación como se muestra en la figura siguiente:



Adjunta el código test.nsi:

(Fin)





Anterior:Explora temas en la extensión .Net Reactive Responsive
Próximo:NSIS (ii) mutex garantiza que solo un instalador esté funcionando
 Propietario| Publicado en 28/1/2024 10:09:14 |

funciónimportancia
SecciónLa función más básica representa un departamento, usada para representar un componente que necesita ser instalado; el contenido de la sección es la última parte del programa que se ejecuta excepto para la desinstalación, pero será la primera en comprobar al compilar; si no hay sección o función en el programa, la compilación se terminará y el bloque de código de la sección deberá sangrarse a 2 espacios
FunciónLa función ejecutada también debe ser indentada, su nombre de función será reconocido; si se reconoce como un nombre especial, se llevará a cabo bajo circunstancias específicas, que se explicarán a continuación
SectionEndIndica el final del departamento, no está hundido dentro de la sección
FunctionEndIndica el final de la función, igual que antes
SetCompressorEstablece el algoritmo de compresión, los siguientes parámetros son el algoritmo de compresión en el asistente, sólido usa /SOLID como prefijo, por ejemplo, el algoritmo solid lzma se escribe como /SOLID lzma
SetCompressorEstablece el tamaño del volumen comprimido, seguido de un número, y normalmente no importa si no lo escribes
OutFileDecide la ruta del paquete de instalación compilada (la ruta de los paquetes de instalación futura, no en qué carpeta ponerlo)
NombreEstablece el nombre del producto, normalmente el nombre de la aplicación + la versión de la aplicación escrita en el primer paso del asistente
InstallDirRepresenta la ruta de instalación predeterminada, que se rellena en la primera línea del cuarto paso del asistente, que determina el valor de $INSTDIR
ShowInstDetailsLos parámetros no son simples verdadero o falso, sino mostrar, ocultar y nunca, lo que indica que los detalles se muestran automáticamente, el botón de usuario muestra los detalles y no se permite ver los detalles de la instalación
ShowUnInstDetailsIndica si los detalles de desinstalación se muestran y si los parámetros son los mismos que antes
BrandingTextMuestra la información en la parte inferior del paquete de instalación, es decir, la última línea de texto personalizado en el primer paso del asistente, que puede aceptar dos parámetros: uno es el texto a mostrar y el parámetro opcional es /TRIM, que puede determinar la dirección de alineación del texto (IZQUIERDA, DERECHA o CENTRO, el predeterminado es IZQUIERDA, /TRIMLEFT, /TRIMRIGHT o /TRIMCENTER deben escribirse, sin separación intermedia)
SetOutpathSolo puede escribirse en la primera línea de la Sección, que determina la ubicación de instalación del componente representado por la Sección, diferente de InstallDir, SetOutPath permite instalar diferentes componentes en distintos subdirectorios del directorio total de instalación, se recomienda configurarlo en carpeta $INSTDIR\ con el nombre del componente (o si los componentes son interdependientes, puedes ajustar la ruta del componente por separado).
SetOverwriteSolo puede escribirse en Section, que se usa para establecer si sobrescribir cuando está instalado, y los parámetros pueden configurarse para que siempre sobrescriban (encendido), nunca sobrescriban (desactivado), sobrescriban cuando son más nuevos (ifnewer), sobrescriban cuando el contenido del archivo es diferente (ifdiff) e intenten sobrescribir (intentar), correspondiente al quinto paso del asistente > editar elementos del directorio
ArchivoSolo puede escribirse en Section, lo que significa que Section contiene y empaqueta archivos, y el parámetro de escape /r representa archivos y carpetas que contienen subdirectorios, y los pasos correspondientes del asistente son los mismos que los anteriores. /x se usa para excluir archivos, puedes escribir /x "*.ico" "xxx\*", lo que significa excluir archivos ICO y excluir todos los archivos del subdirectorio xxx, correspondiente al paso 5 del asistente
CreateDictionaryCrea una carpeta seguida de la ruta completa o relativa de la carpeta
CreateShortcutCrea un acceso directo, el primero es el camino del acceso directo (sufijo .lnk), y el segundo es el camino del acceso directo al archivo, correspondiente a la parte inferior del paso 6 del asistente
WriteUninstallerCrea un desinstalador seguido del nombre de la ruta del desinstalador
WriteRegStrEscribe en el registro, que generalmente no necesita cambiarse, solo sigue el asistente para generar
BorrarNormalmente, en la sección de desinstalación, borras un solo archivo, seguido de la ruta del archivo eliminado; como es un único archivo, no puedes añadir /r
RMDirNormalmente, en la sección de desinstalación, elimina el directorio y todos los archivos del directorio, seguido de la ruta del directorio eliminado; el primero generalmente necesita añadir manualmente /r, el asistente no te lo añadió, si no lo añades, desinstalará el residuo, es mejor escribir este comando una vez para cada subdirectorio, tienes que añadir /r y finalmente eliminar el directorio general RMDir "$INSTDIR"
DeleteRegKeyPara eliminar la información del registro, generalmente puedes seguir el asistente para generarla
SetAutoCloseSolo puede escribirse en la Sección, indicando si saltará automáticamente a la interfaz de finalización una vez completada la instalación, con los parámetros verdadero y falso
AutoCloseWindowNo parece tener ningún efecto, la función parece ser la misma que la anterior, pero se puede escribir fuera de la sección y los parámetros son los mismos que antes
Cuadro de mensajesEl cuadro de mensaje solo puede escribirse en Sección o Función, hay muchos parámetros, incluyendo información de visualización, advertencia de visualización, pregunta sí no, pregunta okcancelretry, etc., introduce Cuadro de mensajes en VNISEdit para obtener una lista de todos los parámetros y luego conecta el contenido mostrado en el cuadro de mensaje
Abortarbloqueando, esperando a que el usuario responda
HideWindowVentana oculta, que normalmente se usa para desinstalar Section, el desinstalador se elimina primero a sí mismo, luego elimina otros archivos (sí, el programa sigue en funcionamiento) y cierra automáticamente la ventana tras la eliminación


 Propietario| Publicado en 28/1/2024 11:07:28 |
Función de llamada de regreso

Función de llamada en la instalación

.onGUIInit
.onInit
.onGUIEnd
.onRebootFailed
.onSelChange
.onUserAbort
.onVerifyInstDir

Función de llamada al desinstalar

un.onGUIInit
un.onInit
un.onUninstFailed
un.onUninstSuccess
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Los detalles son los siguientes:

onGUIInit:
La llamada se llamará antes de que cargue la primera página y se muestre el diálogo del instalador, permitiéndote ajustar la interfaz de usuario.

onInit:
Esta llamada se llamará cuando el instalador esté cerca de completar la inicialización. Si la función .onInit llama a Abortar, el instalador sale inmediatamente.

onInstFailed:
Esta función de llamada se activa cuando el usuario pulsa el botón de "cancelar" tras un fallo de instalación (si el instalador no puede liberar ningún archivo, o si el script de instalación utiliza el comando Abortar).

onInstSuccess:
La llamada se llama antes de que la instalación tenga éxito y la ventana de instalación se cierre (si AutoCloseWindow o SetAutoClose están configurados en false, puede ser después de que el usuario haga clic en "Cerrar").

onGUIEnd:
La llamada de devolución se llama justo después de cerrar la ventana de instalación. Úsalo para lanzar cualquier plugin relacionado con la interfaz de usuario cuando sea necesario.

onMouseOverSection:
La callback se invoca cada vez que el ratón se mueve sobre la caja de selección de sección del árbol. Esto te permite establecer una descripción de muestra para cada segmento. El ID del segmento actual donde se encuentra el ratón se ha guardado temporalmente en $0.

onRebootFailed:
Esta función de callback se llama cuando falla la instrucción de reinicio. WriteUninstaller, los complementos, File y WriteRegBin no pueden usarse para esta función de callback.

onSelChange:
Se llama cuando cambian las opciones de la página de selección de componentes. Comúnmente usado para usar SectionSetFlags y SectionGetFlags.

onUserAbort:
Esta llamada de devolución se llama cuando el usuario pulsa el botón de "cancelar" y la instalación aún no ha fallado. Si la función llama a Abortar, la instalación no se cerrará.

onVerifyInstDir:
Esta llamada permite a tu instalador controlar si la ruta de instalación es válida o no. Este código se llama una vez cada vez que el usuario cambia la ruta de instalación. Si la función llama a Abort, el camino hacia $INSTDIR se considera inválido.

ONU. GUIInit:
La llamada se llamará antes de que cargue la primera página y se muestre el diálogo Desinstalador, permitiéndote ajustar la interfaz de desinstalador.

un.onInit:
Esta llamada se llamará cuando el desinstalador esté cerca de completar la inicialización. Si la función un.onInit usa Abortar, el desinstalador se cierra inmediatamente. Nota: La función puede validar y/o modificar el $INSTDIR si es necesario.

un.onUninstFailed:
Esta función de llamada se llama cuando el usuario pulsa el botón "Cancelar" tras un fallo de desinstalación (si se utiliza el comando Abortar u otro comando fallido).

un.onUninstSuccess:
La callback se llama antes de que la desinstalación tenga éxito y cierra justificadamente la ventana de desinstalación (posiblemente después de que el usuario haga clic en "cerrar" si SetAutoClose está configurado en false).

un.onGUIEnd:
La llamada de vuelta se llama justo después de cerrar la ventana de desinstalación. Úsalo para lanzar cualquier plugin relacionado con la interfaz de usuario cuando sea necesario.

un.onRebootFailed:
Esta función de callback se llama cuando falla la instrucción de reinicio. WriteUninstaller, los complementos, File y WriteRegBin no pueden usarse para esta función de callback.

un.onUserAbort:
Esta llamada de devolución se llama cuando el usuario pulsa el botón "Cancelar" y la desinstalación no ha fallado. Si la función llama a Abortar, el desinstalador no se cierra.

 Propietario| Publicado en 28/1/2024 12:07:23 |
La llamada debe usarse con nombres de funciones que empiezan por "un." en la sección de desinstalar.
Usage: Call function_name | [:label_name]


NSIS tiene condiciones de nombre: las funciones llamadas desde el desinstalador deben tener un prefijo en el nombre "un".

La solución es la siguiente:

Referencia:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.

 Propietario| Publicado en 28/1/2024 15:10:07 |
Documentación de la NSIS:https://documentation.help/NSIS/
 Propietario| Publicado en 9/5/2024 9:46:16 |
Advanced Installer es un potente creador de paquetes de instalación MSI que genera instaladores de Windows certificados para MS Windows con una interfaz gráfica intuitiva y muy sencilla, lo que lo convierte en un buen escritor de instaladores de Windows.
 Propietario| Publicado en 21/2/2025 17:36:44 |
Inno Setup es un instalador gratuito de programas para Windows desarrollado por Jordan Russell y Martijn Laan. Inno Setup se lanzó por primera vez en 1997 y hoy en día rivaliza e incluso supera a muchos instaladores comerciales en cuanto a características y estabilidad.

Sitio web:El inicio de sesión del hipervínculo es visible.

Caso: aplicación Ollama para Windows,El inicio de sesión del hipervínculo es visible.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com