2009-12-07 18 views

Respuesta

25

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.

+0

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

+1

@ 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

+0

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

12

No (Y no hay planes de apoyo a la producción MSI), tratan WIX

+3

Es bueno poner 'WiX' allí como una alternativa :) –

16

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 :-)

+0

¡Santa mierda! ¡Esto debería estar incorporado a NSIS! Dándole una oportunidad ahora. – BrainSlugs83

+2

Holy crap es una buena descripción de ese patrón. No tiene sentido en absoluto ... lo siento. –

Cuestiones relacionadas