¿Hay alguna forma de compilar la instalación del script de instalación de Nullsoft (NSI) como un paquete MSI en lugar de un EXE?Crear secuencia de comandos NSIS como paquete MSI
Respuesta
Desafortunadamente, Nº
NSIS le permite crear paquetes de instalación de secuencias de comandos, de procedimiento. Es simple, fácil de usar y tiene una serie de características que no están presentes en Windows Installer.
Windows Installer (MSI) crea paquetes de instalación transaccionales basados en bases de datos. Cuando se escribe correctamente, un paquete de Windows Installer es muy robusto, un archivo se corrompe/borra y se reinstalará automáticamente. Windows Installer conoce el UAC y solo lo aumenta cuando es necesario. Básicamente, si está creando software para el mercado corporativo, deberá proporcionar un MSI.
Consulte The Definitive Guide to Windows Installer para una buena introducción a la comprensión de MSI.
No (Y no hay planes de apoyo a la producción MSI), tratan WIX
Es bueno poner 'WiX' allí como una alternativa :) –
Los instaladores NSIS se pueden envolver en archivos MSI utilizando el Contenedor MSI. Es una pequeña herramienta que hice para envolver a los instaladores NSIS e Inno Setup. Utiliza WiX para compilar el MSI pero hay una GUI para ayudarte en lugar de un archivo XML.
Se hizo porque necesitaba una herramienta para crear archivos MSI basados en instaladores EXE tradicionales. Necesitaba soporte para desinstalación y actualizaciones y solo quería que los instaladores envueltos aparecieran una vez en Agregar/Quitar programas en el panel de control.
También quería poder pasar parámetros de línea de comandos al instalador envuelto cuando está instalado el MSI.
Si desea usarlo o ayudarme a mejorarlo, puede encontrarlo en http://www.exemsi.com.
Comparto la opinión de que envolver un instalador ejecutable en un paquete MSI no es la solución ideal. Sin embargo, cuando ya tienes el exe, puede tener mucho sentido :-)
¡Santa mierda! ¡Esto debería estar incorporado a NSIS! Dándole una oportunidad ahora. – BrainSlugs83
Holy crap es una buena descripción de ese patrón. No tiene sentido en absoluto ... lo siento. –
- 1. Secuencia de comandos para cambiar registros de secuencia de acciones en un MSI
- 2. Cómo ejecutar archivos EXE en secuencias de comandos NSIS?
- 3. Instalación silenciosa de un paquete MSI
- 4. Secuencia de comandos SQL para crear una secuencia de comandos de inserción
- 5. Desinstalación del paquete WIX MSI
- 6. Mejor herramienta para crear MSI
- 7. Quiero crear una secuencia de comandos de una aplicación C#
- 8. ¿cómo puedo determinar si una secuencia de comandos python se importa como módulo o se ejecuta como secuencia de comandos?
- 9. ¿Cómo puedo crear una configuración de MSI?
- 10. ¿Cómo extraer ProductCode del paquete msi?
- 11. ¿Cómo puedo crear un paquete en una secuencia de memoria?
- 12. ¿Cuál es la mejor práctica para crear MSI con algún otro MSI secundario como requisito previo?
- 13. Crear una secuencia de comandos de inserción desde Seleccionar resultados
- 14. Crear un archivo de registro MSI
- 15. Crear secuencia de comandos con classpath desde SBT
- 16. Obtener contenido dentro de la secuencia de comandos como texto
- 17. MSDeploy con secuencia de comandos sql
- 18. secuencia de comandos para guardar el archivo como unicode
- 19. Falta la DLL cuando se ejecuta como secuencia de comandos
- 20. ejecute cmd.exe como administrador en una secuencia de comandos
- 21. NSIS - File/x no excluye archivos/directorios como se indica
- 22. "Build Deployment Package" VS2010 desde la secuencia de comandos
- 23. Pasar los parámetros de paquete de paquete de arranque a msi
- 24. En una secuencia de comandos de shell: comandos echo shell como se ejecutan
- 25. secuencia de comandos ajax independiente
- 26. Programar secuencia de comandos R
- 27. TeamCity - ¿Cómo crear un paquete de instalador?
- 28. ¿Cuál es la principal ventaja de tener un paquete de instalación de MSI?
- 29. Error 0x80070643: Error al instalar el paquete MSI
- 30. Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python
Además: hay un montón de problemas con MSI: necesitas cree instaladores separados para x86 versus x64 para un ejemplo (entre muchos otros ejemplos: MSI siempre puede elevar o nunca elevar) no puede hacer ambas cosas.) - Imagino que estas limitaciones no existen con NSIS. – BrainSlugs83
@ BrainSlugs83 vea el UAC en la serie MSI. No hay limitaciones si lo escribe correctamente :) http://blogs.msdn.com/b/rflaming/archive/2006/10/01/uac-in-msi-notes-how-to-build-packages-that -work-for-both-standard-user-and-per-machine.aspx – saschabeaumont
Otra ventaja es utilizar envolver su MSI dentro de NSIS. Esto es ideal para cuando los departamentos de TI configuran el Servicio de Windows Installer como deshabilitado (o manual). Puede hacer que su instalador de NSIS verifique esto, habilite el servicio y luego extraiga y ejecute su MSI. Sin embargo, es una buena redacción, @saschabeaumont – Damian