wix - prime - nsis windows installer
¿Qué producto de instalación usar? InstallShield, WiX, Wise, Advanced Installer, etc. (5)
Actualmente estoy investigando el abandono del paquete de instalación que usamos actualmente (Wise Installer 9) y me estoy moviendo a algo que manejará cosas como Windows Vista, Windows 7 y sistemas de 64 bits. La localización de los instaladores sería beneficiosa ya que también tenemos varios clientes francocanadienses.
Actualmente tenemos instalaciones para paquetes de software y utilidades en las siguientes tecnologías:
- Progreso 4GL
- Visual Studio 2005
- Visual Studio 2008
- .NET Compact Framework 3.5
Ya he visto WiX e InstallShield , y también Altiris hizo el reemplazo del antiguo sistema Wise.
Todavía no he jugado mucho con InstallShield, pero de todo lo que he visto / instalado parece ser uno de los favoritos de la industria. He navegado a través de algunas de las etiquetas de Stack Overflow relacionadas con InstallShield y tengo curiosidad por ver qué dice el grupo al respecto.
¿Me acabo de ir a ellos por defecto? ¿Qué tan bueno es WiX en cosas que no son de .NET?
¿Qué tan bueno es WiX en cosas que no son de .NET?
WiX tiene soporte para todas las características de Windows Installer por diseño. El instalador de Windows es anterior a .NET.
Personalmente prefiero WiX a InstallShield porque
- el formato de texto XML permite la revisión de confirmaciones, fusión de cambios entre sucursales
- La automatización de compilación debe incluir la generación de configuración, que es fácil con WiX
- Los archivos wixlib con definiciones de grupo de componentes permiten el desarrollo de la configuración modular . No hay necesidad de preocuparse por las dependencias de las dependencias, etc.
- sin dolores de cabeza de licencia o implementación, simplemente incluimos el conjunto de herramientas de WiX en una carpeta / tools de nuestros proyectos en SVN
Cuando usamos InstallShield, estos fueron todos puntos dolorosos. Sin embargo, WiX tiene una curva de aprendizaje muy empinada.
Deberá verificar el freeware Inno Setup : durante el largo tiempo que lo estoy usando, ¡nunca me decepcionó!
Heredé un puñado de proyectos InstallShield (v12). Los archivos son todos de texto / XML y, por lo tanto, no hay problemas de control de versiones. Tenemos una máquina de construcción que usa sus herramientas de línea de comandos, que funciona bien. Lo que no me gusta es (a) el costo por asiento del desarrollador y (b) errores.
Inno Setup es muy capaz / flexible y, en general, hay varias formas de lograr un objetivo, lo que condujo a una curva de aprendizaje empinada. Somos varias versiones detrás de su última versión (debido a su estructura de costo de actualización). Debido a que nuestros productos se ejecutan en Widows, si tenemos que cambiar podría buscar primero la solución de instalación de Microsoft que viene con una suscripción a MSDN.
No he usado InstallShield en unos años. En mi último trabajo, nos alejamos de NSIS, principalmente porque su formato binario dificultaba el control de versiones, y porque algunas veces el archivo fuente simplemente se corrompía, sin esperanza de recuperación. ¡Eso podría haber estado relacionado con SourceSafe por supuesto!
Además de eso, era innecesariamente complicado. No me malinterpreten, estábamos haciendo algunos instaladores razonablemente complicados, con muchas rutas condicionales, módulos de fusión e interfaces de usuario sofisticadas, pero incluso para eso era demasiado, demasiado complejo.
NSIS tiene un excelente sistema de complementos, y usted puede programarlo de manera imperativa utilizando el complemento LogicLib , tener archivos de desinstalación automáticos generados y muchas otras cosas además.
ACTUALIZACIÓN : respuesta similar, pero más breve aquí: ¿Cuáles son algunas buenas alternativas a InstallShield? - para aquellos que no tienen tiempo para mucha discusión elaborada (sin embargo, se recomiendan los detalles a continuación).
He trabajado en desarrollo de software como gerente de lanzamiento , ingeniero de construcción , desarrollador de instalación y como empaquetador de aplicaciones , ingeniero de SOE e ingeniero de implementación (SCCM) en grandes corporaciones.
En el camino, he utilizado la mayoría de las principales herramientas de empaque (algunas en muchas versiones diferentes): InstallShield , Sabio (fuera del mercado, desafortunadamente), WiX , Advanced Installer (solo prueba), Orca y yo hemos probado algunas otras herramientas (enlace a "Windows Installer Authoring Tools for Developers " en http://www.installsite.org - una lista bastante exhaustiva de herramientas). También he utilizado herramientas de implementación y empaquetado menos comunes, como Computer Associates Unicenter, probablemente fuera del mercado por el momento. También hay una página en herramientas de creación de configuración no MSI .
ACTUALIZACIÓN : Si necesita una herramienta MSI para comparar dos versiones de archivos MSI, o simplemente para extraer información de un archivo MSI, le recomendamos que lea esta respuesta: ¿Cómo puedo comparar el contenido de dos (o más) MSI? archivos? (centrado en herramientas MSI gratuitas).
Esta publicación proporciona una descripción general de los puntos fuertes de algunas de las diferentes herramientas de creación , así como algunos inconvenientes a tener en cuenta . Por todas sus similitudes, estas herramientas son en realidad bastante diferentes. Se han hecho todos los intentos para que las descripciones sean lo más objetivas posible, describiendo la experiencia del mundo real con aspectos positivos y negativos.
Temas de implementación relacionados
- Antes de profundizar en la revisión de las diferentes herramientas, aquí hay algunos otros enlaces con información sobre la tecnología MSI.
- Aquí hay una descripción general de las tareas de implementación comúnmente admitidas en las herramientas de implementación, y una descripción de por qué el despliegue parece ser cada vez más complicado.
- Mucha gente parece pensar que MSI es más problemático de lo que vale, y en ocasiones eso puede ser comprensible. Los beneficios son reales, especialmente para la implementación corporativa, pero también lo son algunos de los problemas.
- Aquí hay una descripción que escribí sobre los principales beneficios corporativos de MSI (from serverfault.com). El artículo ha crecido demasiado, pero todavía es relevante.
- En el mismo artículo, escribí acerca de las típicas fallas de diseño del mundo real en los archivos MSI (un trabajo muy en progreso, solo un "volcado de memoria" de experimentar "ambos lados del software": desarrollo e implementación).
InstallShield
- Característica rica.
- Siempre al día con las últimas tecnologías.
- (Configuración) Desarrollado orientado.
- Diferentes ediciones disponibles.
- El producto insignia AdminStudio proporciona tanto herramientas orientadas al desarrollador de configuración como herramientas orientadas al reempaquetado.
- Muy buenas características de administración , localización y automatización para la automatización de procesos de compilación. Al menos mejor que los competidores.
- Para productos complejos, la gestión de lanzamientos es quizás el principal argumento de venta para InstallShield. Puede ofrecer sabores de todo tipo con facilidad: versiones de idiomas, versiones de OEM, espectadores, ediciones de aplicaciones, etc. usando marcadores de lanzamiento y construcciones similares.
- Los indicadores de publicación se usan esencialmente para excluir o incluir de forma condicional ciertas partes del producto de cada configuración compilada; esta es a menudo una gran parte de lo que se solicita al hacer familias profesionales de configuraciones.
- La vista de lanzamiento en Installshield permite una visión completa de todos sus diferentes tipos de configuración y ediciones. Verá todas las versiones de idioma y las configuraciones de lanzamiento entregadas para la web (un gran archivo de configuración) o para los medios redistribuibles (archivos fuente externos) y cualquier otro tipo de sabores que haya entregado.
- Crucialmente para cada versión y edición puede anular configuraciones importantes como el nombre del producto, la versión del producto, el paquete, el producto y el código de actualización, así como muchas otras configuraciones requeridas que deben cambiar dinámicamente en función de la edición del producto y la versión del idioma.
- En muchos otros productos, este tipo de gestión de lanzamiento y edición puede ser mucho más difícil de implementar. Para configuraciones más simples, este tipo de flexibilidad puede ser menos importante.
- La API de automatización para el producto permite que sea fácilmente " controlado remotamente " desde scripts de automatización de compilación de varios tipos.
- También hay módulos de compilación de línea de comandos (para usar en servidores de compilación dedicados).
- La automatización completa de las compilaciones de un conjunto completo de productos y ediciones es fácilmente posible utilizando la automatización VBScript / VBA / Javascript regular.
- Soporte de localización completo con tablas de cadenas utilizadas para soportar diferentes lenguajes de configuración.
- Los diálogos de base también se proporcionan listos en varios idiomas (costos adicionales).
- Solo necesita localizar su propio contenido de configuración (títulos de la lista de funciones, cuadros de diálogo o cuadros de mensaje personalizados, imágenes con texto, etc.), todavía mucho trabajo.
- Puede ofrecer una gran configuración multilingüe. Esto no se recomienda en mi experiencia por varias razones (lea la sección de localización). El peor problema es que debe localizar todo el contenido nuevo y modificado en todos los idiomas antes de poder entregar la versión en inglés. Esto casi nunca es aceptable para marketing / ventas. Y siempre hay soluciones que requieren que reconstruya y vuelva a lanzar un solo idioma, y luego desea hacerlo sin UAT y QA para todos los demás idiomas. Es mejor proporcionar compilaciones separadas para cada idioma (de fácil implementación).
- Buen apoyo de la comunidad: Foros de la comunidad de usuarios .
- Muy buena GUI, las cosas comunes son razonablemente fáciles.
- Completo editor de MSI-GUI.
- Muy poderoso. Algo complejo
- Las limitaciones de las funciones de GUI subyacentes de la tecnología MSI causan algunos inconvenientes y limitaciones molestas, pero esto es lo mismo para todas las herramientas de implementación.
- La causa principal es que MSI GUI se implementa usando tablas de datos dentro del archivo MSI, y esto ocasiona severas limitaciones con respecto a los eventos de diálogo en comparación con el "modelo de evento" completo para los cuadros de diálogo de Win32 adecuados.
- Lenguaje de scripting estilo C con todas las funciones para acciones personalizadas llamado " Installscript ".
- Installscript ahora se compila en nativo o emulado con su propio entorno limitado, no estoy seguro de cuál. No es necesario instalar un tiempo de ejecución como antes.
- Por cierto, este tiempo de ejecución fue la fuente de algunos problemas de implementación bastante problemáticos debido a la corrupción en el tiempo de ejecución (aparentemente a menudo relacionada con DCOM) y varias incompatibilidades entre diferentes versiones de tiempo de ejecución. Aquí hay algunos enlaces de solución de problemas para "fines heredados":
- No se puede instalar InstallShield Scripting Run Time .
- La instalación no puede encontrar o actualizar ISScript.msi .
- Flexera Consumer Central (para problemas de configuración del usuario final).
- Aunque el tiempo de ejecución era una fuente de errores muy problemática, todos los problemas relacionados ahora parecen haberse resuelto por completo desde Installshield 12 y posterior.
- Muy bien integrada ayuda en GUI .
- Muy importante para una tecnología tan difícil.
- A menudo es muy útil, especialmente para tratar con tareas comunes.
- El formato de almacenamiento de archivos binarios predeterminado no permite un control de fuente real o ramificación (a diferencia de WiX, que ofrece esto de la caja). Creo que hay una manera de almacenar el proyecto en formato de texto, pero nunca lo usé. No estoy seguro de cuán efectivo sería.
- Sin lugar a dudas, es sin duda el más escabroso de todos los productos de instalación.
- Para ser justos, la mayoría de los errores se relacionan con el tipo de proyecto especial " Installscript MSI " que implementa un modelo de diálogo personalizado para configuraciones MSI (en lugar de la GUI nativa basada en tablas que se suprime).
- En otras palabras, el tipo de proyecto Installscript MSI NO DEBE utilizarse bajo ninguna circunstancia. Tómese esto en serio, si todavía los usa, son particularmente difíciles de actualizar correctamente (la primera implementación podría estar bien, pero las actualizaciones se están rompiendo). Otros tipos de proyectos parecen funcionar bien.
- Después de abandonar Installscript MSI (que la mayoría de la gente parecía hacer), la herramienta funcionó bastante bien para mí personalmente (sin embargo, sin errores).
- No estaba contento con el soporte para la implementación de sitios IIS y aplicaciones COM + . Necesitaba la flexibilidad y la personalización de WiX en lugar de la facilidad de uso de Installshield. Simplemente no había suficiente flexibilidad y control disponible.
- Soporte para paquetes virtuales de Microsoft App-V y nuevas tecnologías de virtualización.
- Permite algunas cosas nuevas en comparación con una aplicación normal.
- Transmisión de aplicaciones: no hay instalación local en las máquinas - JIT.
- Use dos programas incompatibles en la misma computadora.
- Actualizando a través del servidor.
- Licencias de control: usuarios simultáneos máximos o software vinculado a un grupo / usuario.
- Presente la aplicación rápida y fácilmente a los usuarios.
- Más marketing de Microsoft aquí .
Sabio
Wise está oficialmente retirado , pero ha resucitado antes. Desafortunadamente, algunos asuntos legales pueden haberlo hecho definitivo esta vez, por lo que sé. Eso sería una pena para una gran herramienta. Fue adquirido por Altiris, y luego Symantec. Ahora parece estar fuera del mercado . Todavía me voy en el resumen de las buenas características de Wise:
- Rápido y fácil y bastante rico en funciones.
- Muy buena facilidad de uso en general, excelente conjunto de características.
- Carece de algunas características (muy) avanzadas como IIS, gestión avanzada de versiones, etc.
- Administrador / Repackager orientado.
- Menos código centrado que Installshield.
- Editor gráfico de scripts único y flexible.
- GUI de configuración de configuración bien diseñada.
- También es excelente para equipos de desarrollo pequeños que buscan una forma rápida y relativamente fácil de implementar su aplicación.
- A veces se queda ligeramente rezagado con las últimas tecnologías (en comparación con Installshield), pero comparativamente "sin errores".
- GUI intuitiva, las cosas comunes son (muy) fáciles.
- Muy buen manejo de la configuración de secuencia de instalación y acciones personalizadas en un editor de estilo de script. Más secuencias de comandos GUI, menos codificación.
- Rock sólido , muy pocos errores significativos.
- Los recursos de ayuda y el soporte de la comunidad no están a la par con InstallShield, pero siguen siendo buenos.
- Mi herramienta de elección para la depuración y la creación de prototipos (rápida, estable, fácil de usar, funciones de gran diferencia).
- Y con respecto a las características de diferencia (permitiendo la comparación binaria de dos archivos MSI).
- Ninguna otra herramienta que he probado se ha acercado a Wise para diffs binarios de diferentes archivos MSI.
- La facilidad de uso y la claridad del visor de diferencias no eran menos que fantásticas.
- Para los empaques corporativos, tales características de diferencias pueden ser una parte muy crítica del trabajo ya que tiene cientos o incluso miles de paquetes de software diferentes para administrar en muchas versiones diferentes.
- En una nota subjetiva : mi herramienta de embalaje favorita. Muy fiable.
- Es una verdadera lástima que la herramienta ya no esté disponible.
- Siempre podemos esperar una "reencarnación" (he visto fragmentos de GUI que parecen sabios en algunas otras herramientas).
WiX
- La gran ventaja es los archivos fuente de texto . No es necesario almacenar la fuente como un binario donde es casi imposible hacer un seguimiento de los cambios y hacer un control de versión adecuado.
- Las fuentes de texto adecuadas marcan la diferencia para los equipos de desarrollo en términos de ramificación , control de versiones y fusión . Es un salto cuántico (en mi opinión, particularmente para el desarrollo interno en grandes corporaciones, donde el proceso es complejo, el cambio es rápido y hay muchos desarrolladores).
- La necesidad y el uso de archivos fuente de texto fue fundamental para la creación del kit de herramientas de WiX. Aquí hay un "historial de WiX" rápido e incompleto con más detalles. Lectura recomendada para comprender la base y la lógica de WiX.
- Algunas herramientas de implementación que almacenan el instalador como archivos binarios podrían terminar en situaciones en las que la fuente binaria mostraría problemas misteriosos que nunca podrían rastrearse correctamente.
- Esto sucedió particularmente después de las actualizaciones de herramientas que también actualizaron el formato en la fuente (por la razón que sea).
- Las actualizaciones a menudo afectarían a docenas de tablas y cientos de registros, lo que hace que sea una tarea imposible rastrear el problema real de manera efectiva.
- Los síntomas incluían cosas como el inicio repentino de compilaciones lentas, velocidad de instalación lenta y repentina, errores de compilación inexplicables, incluso corrupción total de archivos, etc.
- Con WiX tienes total transparencia y "delgadez" para tu fuente. Es más limpio y más confiable cuando se hace correctamente y las actualizaciones automáticas de la fuente son posibles, pero no causará cambios en cascada a través de docenas de tablas MSI. En combinación con los cambios en el control de la fuente se rastrean fácilmente y (con suerte) se entienden. No se agregan cosas misteriosas e indocumentadas.
- Con todo lo dicho, debe tenerse en cuenta que la actualización de los archivos fuente de WiX 3 a WiX 4 parece no ser trivial. Esperemos que esta sea una situación única. No estoy seguro de por qué esto ha sido honesto, y no tengo información actualizada al respecto.
- Tal vez busque noticias reales directamente desde el blog de Rob Mensching: http://robmensching.com/blog/ y el blog de Bob Arnson https://www.joyofsetup.com/ . Directamente de la boca del caballo cuando Internet lo hace posible; a veces es un mundo maravilloso ;-). Se rumorea que están haciendo " tortugas hasta abajo ".
- Rock sólido, muy pocos errores significativos .
- Para aquellos que han luchado con errores de larga data, intermitentes e inexplicables en otras herramientas, esto es un regalo del cielo. {Historias de guerra eliminadas}.
- Y aún mejor: los problemas parecen arreglarse en WiX, a veces con ayuda de la comunidad, como es apropiado para un kit de herramientas de código abierto. La mayoría de las veces parece que el equipo central se ocupa de eso.
- Muy rico en características , pero algo difícil de usar a veces.
- Toma tiempo acostumbrarse, e incluso cuando estás acostumbrado, las cosas pueden ser "complicadas" para hacer las cosas bien (especialmente si no usas las herramientas de ayuda incluidas correctamente).
- Ayuda utilizar la herramienta del descompilador dark.exe para descompilar los archivos MSI existentes en WiX XML. Esto le permite estudiar la fuente de WiX sin saber demasiado al respecto de antemano.
- Excepcional personalización para cosas complejas tales como IIS , COM + , SQL Server , permisos , reglas de firewall , etc. ... "Todo" es posible, pero a veces es algo complicado.
- WiX efectivamente " extiende Windows Installer " con nuevas y muy necesarias funcionalidades. Este es un gran beneficio para todos los que anteriormente tenían que "lanzar sus propias soluciones", a menudo para cosas que parecían triviales (pero que aún eran muy propensas a errores).
- El poder de estas extensiones no puede ser exagerado. Puede deshacerse de una gran cantidad de acciones personalizadas, complejas y personalizadas a favor de soluciones probadas . ¡Con el soporte correcto de reversión ! (una característica muy descuidada en las configuraciones de los proveedores, en mi experiencia, casi todas ellas, que causa un estado del sistema sucio después de las configuraciones canceladas).
- Tengo experiencia personal escribiendo un dll en C ++ con acciones personalizadas para tareas comunes con soporte de reversión adecuado, y la cantidad de trabajo fue asombrosa, especialmente el control de calidad de la función de retrotracción real.
- Una notable falta de herramientas GUI y muy pocas buenas muestras disponibles, especialmente para WiX 4.
- Las cosas parecen estar mejorando, quizás intente este breve resumen .
- Un proyecto interesante podría ser IsWiX . Vale la pena echarle un vistazo.
- Tutoriales de WiX: https://github.com/iswix-llc/iswix-tutorials
- Demostración rápida de Youtube: https://www.youtube.com/watch?v=nnV_OU6fk8c
- Estoy desactualizado aquí, por favor ayuda a actualizar esto si tienes más información actualizada .
- Integración completa en Visual Studio, con IntelliSense.
- Aparentemente habrá algunas restricciones sobre qué versiones de Visual Studio serán compatibles con WiX 4.
- Todavía no tengo los detalles, pero necesitará una versión reciente de Visual Studio. Creo que hay buenas entradas de blog de Rob y Bob sobre esto.
- Es gratis (!). Cada desarrollador puede construir la configuración. Alguien debe poseerlo sin embargo (!). De Verdad ;-).
- También es de código abierto .
- La "comunidad": https://github.com/wixtoolset . Y los problemas abiertos: https://github.com/wixtoolset/issues/issues
- La descarga del kit de herramientas también incluye DTF ( Deployment Tools Foundation ). Clases .NET para manejar todos los archivos MSI con automatización. Vea una muestra en línea aquí . Extremadamente útil y de buena calidad. SIN interoperabilidad COM para tratar. Vea esta publicación de serverfault.com . Y el blog de Chris Painter .
- ¿Cómo empiezas?
- Para los usuarios de tintas basados en muestras, pruebe este artículo de The Code Project para un inicio rápido sobre cómo crear archivos MSI con WiX (WiX 3). Es realmente simple (si conoces MSI es evidente).
- También puede leer este artículo sobre el desbordamiento de la pila WiX para obtener más consejos de inicio rápido.
- NUEVO Y RECOMENDADO : Una respuesta que muestra los cambios mínimos actuales necesarios para compilar un archivo MSI en funcionamiento al crear un nuevo proyecto WiX en Visual Studio: el instalador de WiX msi no instala la aplicación Winform creada con Visual Studio 2017 .
- Y puede usar el dark.exe (descompilador MSI) de WiX para descompilar un archivo MSI existente al formato WiX XML adecuado y luego estudiar cómo encaja. Muy útil y educativo, especialmente para funciones avanzadas.
- Versiones actuales y futuras.
- La versión 3.1 es estable y está disponible (lanzado en mayo de 2017). Rock sólido
- La versión 4 lleva ocho años en desarrollo en este momento (agosto de 2017).
- No está claro cuándo estará disponible para una versión estable.
- Al parecer, será una actualización muy importante que requiere una revisión sustancial de los archivos WiX existentes para usar con éxito.
- No puedo proporcionar ningún detalle sobre cuáles son las principales diferencias en este punto.
- La estabilidad y confiabilidad de la versión 3 sin duda se ha conservado.
Instalador avanzado
- No he usado esto para un desarrollo real.
- Muy fácil de usar, buena GUI.
- ACTUALIZAR :
- Registro integrado extremadamente bueno en la herramienta durante la instalación de la prueba de desarrollo. Muy impresionante.
- También disponible para reempaquetado corporativo en su " edición de arquitecto ".
- Característica rica . Compila todo tipo de configuraciones y admite todas las tecnologías nuevas (App-X, App-V, etc.)
- El soporte para App-V parece muy extenso.
- Puede importar varios archivos fuente de otras herramientas (Installshield, Inno, Wix, Wise, NSIS, Visual Studio, Desktop Bridge, etc.). No probado extensivamente por mí.
- Almacena proyectos en un formato de texto exclusivo hasta donde puedo ver.
- Parece sólido y, de manera crucial, oculta parte de la complejidad de MSI a través de una buena GUI que muestra opciones y casillas de verificación intuitivas en lugar de las marcas y propiedades del estilo de SDK. Esto es algo bueno, y falta por completo de WiX en este punto.
- Parece que podría ser bueno para la creación de prototipos y pruebas, una interfaz gráfica de usuario muy potente y una función automática para las funciones de uso común.
- Extraño la vista Release de InstallShield con sus indicadores de lanzamiento y configuraciones de automatización de compilación, así como otras características de administración de versiones (podría mejorarse ahora).
- En general, es una herramienta sólida que se ve mejor adaptada para los desarrolladores que buscan una manera fácil de implementar sus aplicaciones . Similar a Wise en ese sentido.
- Demasiada poca experiencia práctica para escribir mucho más. Pruébalo.
Otras herramientas
- Orca es la herramienta gratuita SDK de Windows que permite abrir, editar y, hasta cierto punto, comparar archivos MSI binarios. También permite otras operaciones como generar archivos de transformación para modificar los archivos MSI y algunas otras operaciones técnicas. Una herramienta básica que siempre me gusta tener instalada y disponible. Hay un párrafo de Orca más extenso que discute su uso (mira hacia abajo). Normalmente, debe instalar el SDK de Windows para hacerse con Orca (simplemente instale la última versión y busque la herramienta).
- Una herramienta gratuita llamada " Super Orca " me fue recomendada, al igual que " InstEd ". Los he usado solo brevemente, pero se ven bien, y son más fáciles de conseguir que Orca (no hay que descargar SDK de Windows).
- Y también hay muchas otras herramientas . Aquí hay una lista de herramientas de http://www.installsite.org con una indicación de si la herramienta aún se mantiene activamente o no: http://www.installsite.org/pages/en/msi/authoring.htm (con gracias a Phil Wilson por el enlace, no pude resucitar su respuesta).
- Supongo que también puedo incluir un enlace a la lista de software de instalación de Wikipedia .
Recomendaciones de herramientas?
No es mi lugar hacer recomendaciones directas de herramientas. Pero creo que puedo hacer algunas "observaciones" y proporcionar algunos enlaces adicionales para la toma de decisiones.
Para cualquier equipo serio de desarrollo interno, sugeriría WiX. Donde otras herramientas tienen facilidad de uso (que es muy importante, y a veces lo único que es importante), WiX se destaca por su flexibilidad, extensibilidad, estabilidad y el uso de archivos fuente de texto XML , con la pena de estar algo involucrado para tratar con. Y debido a su licencia gratuita, cada desarrollador puede ver y compilar la fuente y los cambios se rastrean, revierten o aprueban fácilmente. Sin embargo, gestionar un proceso con desarrolladores que actualicen una única fuente de WiX todavía presenta sus desafíos (no es diferente del trabajo de desarrollo habitual, nada es fácil).
Para el reempaquetado corporativo (que ciertamente está un poco más allá del enfoque del desarrollador de .com), supongo que las principales opciones en este momento son Flexera AdminStudio y Advanced Installer Architect . También hay otros productos disponibles, y como siempre installsite.org tiene detalles: Herramientas: reempaquetado e implementación corporativa .
Para los pequeños equipos de desarrollo que buscan una manera rápida y fácil de implementar sus aplicaciones, supongo que Installshield y Advanced Installer son las herramientas más comunes "basadas en GUI". Proporcionan muchas funciones y podrá realizar una configuración rápida. Como ya se dijo, a veces esto es lo único que es importante. Muy a menudo, de hecho. Sin embargo, es posible entregar un gran instalador usando WiX , pero se requiere mucho más conocimiento. Hay una curva de aprendizaje, y hay algunas limitaciones severas, particularmente con respecto a la GUI en este momento, pero la tecnología base es muy sólida y gratuita. Y, lo que es más importante, hay muchas otras herramientas (lista de http://www.installsite.org ) que pueden ser más apropiadas para su tarea, particularmente si se trata de una aplicación simple que solo necesita funciones básicas de implementación. Es "injusto" que no haya proporcionado más información sobre estas herramientas que son bastante capaces, pero menos utilizadas o establecidas.
Debo aclarar que recomiendo WiX para los equipos corporativos que entregan aplicaciones internas porque pueden usar la flexibilidad proporcionada por WiX y también tendrán la experiencia técnica y las habilidades disponibles para lidiar con la complejidad de WiX. Y pueden entrenar chicos nuevos cuando sea necesario. Un problema muy importante. WiX no es algo trivial de aprender a menos que ya tenga mucho conocimiento de Windows Installer, entonces es un pedazo de pastel, pero aún requiere tiempo porque es muy flexible y por falta de una palabra mejor: "difícil", es como real desarrollo, tienes un control real, pero debes ser preciso. Una vez configurado, una fuente de WiX puede ser un sueño con el que lidiar, ya sabes lo que está pasando.
En resumen: si usted es un proveedor externo pequeño (o grande) que busca una buena manera de que su aplicación se entregue rápidamente a sus clientes , probablemente esté mejor con una herramienta comercial que ofrezca facilidad de uso y una solución rápida para implementar cantidades limitadas de cambios. Para IIS, en particular, las herramientas comerciales no han brindado la flexibilidad necesaria para mí en el pasado. Y los equipos de desarrollo internos deberían probar al menos WiX.
Finalmente, una palabra de advertencia : Instalador avanzado , InstallShield y Sabio en general, permite el empaquetado de software para virtualización . No estoy al tanto de ninguna característica en WiX para esto a partir de ahora. Agregue comentarios o simplemente edite esta publicación si tiene información aquí.
Consejo práctico superior :
Por lo general, utilizo otras herramientas para prototipos y WiX para la implementación si tengo una opción. Puede usar el dark.exe de WiX (descompilador MSI) para descompilar un archivo MSI existente. A veces implemento algo en Wise o InstallShield, compilo un MSI y lo descompilo en formato WiX. Luego, levanto el marcado de WiX y vuelvo a mi archivo principal WiX. Funciona muy bien y usualmente muy rápido. Esto, en combinación con la herramienta heat.exe para la creación automática de componentes, me permitió empaquetar un enorme sitio web de IIS en menos de 10 minutos después de algunas prácticas. Luego tengo la capacidad de personalización completa proporcionada por WiX, con la facilidad de uso de las otras herramientas.
Limpiar la fuente decompilada no es un picnic, pero tampoco es ciencia espacial. Se necesita cierto conocimiento de MSI y estarás "jugando" durante un tiempo. Tenga en cuenta que no se recomienda descargar versiones de prueba de herramientas comerciales para generar y descompilar un archivo MSI. Los archivos MSI resultantes son generalmente "marca de agua" con características que son difíciles de eliminar.