tag - verificar propiedad en wix
Installshield o Wix (4)
+1 a la respuesta de Samuel. En cuanto a la curva de aprendizaje empinada ... si no entiende cómo funciona la tecnología subyacente (Windows Installer), tendrá problemas con el soporte de su instalación, ya sea InstallShield o WiX que elija. Pero WiX lo alienta a aprender Windows Installer para usar las abstracciones de WiX correctamente.
Personalmente comencé mi proyecto de configuración (una gran aplicación web) con InstallShield, pero recientemente me mudé a WiX y estoy feliz por ello. Los puntos clave de mi elección:
- es gratis
- Es XML (no más dolor que difiere y fusiona)
- es amigable a NAnt
- hace exactamente lo que le ordenas que haga (ni más ni menos)
Esperamos que esta información sea útil.
Tengo una aplicación web bastante grande desarrollada usando asp.net 3.5 y necesito preparar un paquete de instalación que se usará para implementar la aplicación en IIS 6 y 7. He investigado mucho sobre Wix e Installsheild 2010 (pro) y necesita algún consejo antes de tomar una decisión. Noté que el installsheild es bastante costoso en términos de licencia, pero para mí, tengo suficiente presupuesto para que no sea un problema. El instalador debe poder realizar los siguientes procesos.
Implementar el recurso web publicado (aspx, etc).
Crear directorio virtual.
Cree la base de datos en el servidor SQL y ejecute algunos scripts de inicialización.
Modificar archivos XML y archivos web.config.
Establezca el permiso para permitir la escritura en los archivos en el directorio virtual.
Descubrí que ambas tecnologías son capaces de hacer los escenarios anteriores, pero me gustaría obtener experiencias y consejos personales.
Habiendo creado un instalador Wix para hacer exactamente lo que estás buscando hacer, lo recomendaría con mucho gusto.
Los beneficios de Wix sobre InstallShield como lo veo:
- Como Wix es gratis, todos los miembros de su equipo pueden instalarlo y, por lo tanto, todos pueden contribuir al instalador. Si un desarrollador agrega una biblioteca al proyecto, puede actualizar el instalador según corresponda, sin esperar a que el "instalador" haga su trabajo.
- No hay problemas con la instalación de Wix en un servidor de compilación, por lo que es un buen ajuste para un entorno donde se utiliza la integración continua. Se integra muy bien con MSBuild (ver el proyecto Votive).
- Los instaladores Wix se crean a partir de archivos de texto, lo que los hace muy fáciles de controlar.
- Wix incluye Deployment Tools Foundation (DTF), que facilita mucho la creación de acciones personalizadas utilizando el código .Net.
- Wix está cerca del metal: por lo general, puede aplicar su conocimiento de Windows Installer directamente a Wix. Por el contrario, aprender Wix le enseña mucho sobre Windows Installer, lo que siempre es bueno cuando se trata de proporcionar soporte para implementaciones.
Para equilibrar esto, hay algunas cosas a tener en cuenta:
- Wix tiene una curva de aprendizaje empinada. Si aún no lo has hecho, revisa el tutorial de WiX .
- WiX no es un entorno "visual" como InstallShield, por lo general es de texto y xml. Dicho esto, hay editores, free y commercial .
- Específicamente en relación con las configuraciones de IIS: Wix 3.0 solo funciona contra las API de metabase de IIS 6. Para instalar en IIS 7, deberá habilitar la función de compatibilidad de la metabase en el servidor de destino. El soporte completo para IIS 7 viene en Wix 3.5 - He probado la versión beta de esto, y parece funcionar bien hasta ahora.
Para abordar los puntos de Samuel arriba ...
He creado un proyecto en CodePlex que se llama IsWiX que aborda el problema de la democratización. Lo usas con WiX para crear módulos de combinación y luego consumes los módulos de combinación con InstallShield para obtener lo mejor de ambos mundos. Esto permite que un instalador use InstallShield y que docenas de mis desarrolladores usen IsWiX / WiX. El XML todavía se puede marcar con metadatos adicionales, por lo que no estamos restringidos en lo que los módulos pueden describir.
InstallShield tiene un motor de compilación independiente que se integra con MSBuild / TFS y proporciona una interfaz de automatización. No hay ninguna ventaja para WiX aquí.
InstallShield es un archivo de texto también. Es un formato DTD más feo, pero IsWiX resuelve ese problema abstrayendo las partes que cambian con frecuencia de la parte que cambia raramente del instalador.
Recomiendo encarecidamente el uso de DTF con InstallShield. Después de todo, una función exportada tipo 1 es la misma que para cualquier herramienta basada en MSI.
InstallShield tiene un editor directo que le muestra las tablas subyacentes. Esto es en realidad más cercano al metal que WiX, que utiliza un DSL basado en XSD para generar el metal. Con todo, hay cosas realmente buenas sobre WiX e InstallShield, y los uso juntos para crear instaladores extremadamente complejos.
PS-IsWiX pensó mucho en el hash y la clasificación para resolver problemas de fusión de ramas. (Utilizamos Base Clearcase en docenas de sucursales, por lo que esto fue muy importante para nosotros).
Según mi experiencia con Wix e InstallShield, recomendaría usar InstallShield a menos que necesite un instalador bastante básico y sencillo. Digo esto porque la enorme curva de aprendizaje de Wix se hace aún más difícil por la falta de información disponible
No hay libros sobre Wix, por lo que sus recursos están limitados al tutorial de Wix , que es detallado y extenso, pero aún no cubre mucho más que lo básico, y las publicaciones de blog que encuentra a través de Google. Por supuesto, hay muchas publicaciones de blogs buenas que detallan cómo lograr cosas específicas, pero a menos que no tengas fechas límite para cumplir, probablemente no puedas permitirte sentarte e investigar cómo hacer cosas específicas en Wix durante días a la vez. Personalmente, me encontré haciendo esto demasiado para que Wix sea una solución viable (de nuevo, a menos que solo necesite un instalador simple)
En última instancia, en mi caso, teníamos instaladores existentes que fueron desarrollados con InstallShield y simplemente somos capaces de ser productivos más rápido. InstallShield también tiene su propio lenguaje de scripting, que también tiene bastante buena documentación.
Otra gran ventaja para mí fue que InstallShield alivia el dolor de varias instancias (intenta buscar cómo hacer esto con Wix y obtendrás una idea de lo que estoy diciendo) y las actualizaciones / parches. Pude lograr ambos (especialmente instancias múltiples) en una fracción del tiempo con InstallShield de lo que me costó lograr en Wix.
Mi consejo sería elegir según sus limitaciones de tiempo / plazos / compromisos, la complejidad de su instalador y la madurez de su producto. Wix requiere MUCHA investigación para las cosas InstallShield proporciona una manera bastante rápida de hacerlo. Esto puede ser aún más doloroso si tiene un producto maduro en comparación con un producto bastante joven.
Espero que esto ayude.