2009-03-23 19 views
8

He estado evaluando la amplia gama de soluciones de instalación y despliegue web disponibles para las aplicaciones de Windows. Me limitaré a aclarar aquí (sin demasiado detalle, estas herramientas han sido cubiertos en otras cuestiones) mi comprensión de las opciones:¿Comprar o construir para la implementación web?

  • NSIS - Herramienta gratuita que genera ejecutables de configuración. Pequeño binario. Lenguaje de scripting especializado, a veces obtuso.
  • Inno Setup - Herramientas gratuitas para archivos ejecutables de instalación. Varios esquemas de compresión binarios. Motor de scripts Pascal.
  • WIX - Conjunto de herramientas gratuito para generar binarios MSI. Lenguaje de definiciones XML.
  • WIX ClickThrough - Herramientas adicionales para el empaquetado, la descarga web y la detección automática de actualizaciones (ahora parte del núcleo WIX).
  • InstallShield - Entorno de desarrollo comercial para el embalaje de instalación. Genera binarios MSI. Lenguaje InstallScript tipo C.
  • Wise - Entorno de desarrollo comercial para el embalaje de instalación. Genera binarios MSI.
  • ClickOnce - Framework compatible con Visual Studio para publicar aplicaciones en un servidor web, con detección automática de actualizaciones. No es compatible con los requisitos de instalación personalizada (archivos INI, registro, etc.). Paquetes configurados como un binario MSI.
  • Install Aware - Entorno de desarrollo comercial para la instalación. Genera binarios MSI. Marco de actualización automática (actualización web).

Si me he perdido alguna, házmelo saber.

y encontró algunas discusiones útiles de estas tecnologías en StackOverflow:

He trabajado con algunas de estas soluciones, así como una un puñado de soluciones de instalación internas patentadas. Se preocupan principalmente por las instalaciones de embalaje y proporcionan un marco para que los desarrolladores accedan al entorno de tiempo de ejecución. Con el creciente requerimiento de implementación web y actualizaciones automáticas de software, esperaba encontrar más consenso entre los desarrolladores sobre un marco para la entrega web de software y las actualizaciones posteriores, realmente no he encontrado ese consenso. Ciertamente hay soluciones disponibles (ClickOnce, ClickThrough, InstallShield Update Service), pero cada una tiene limitaciones considerables (corrígeme si represento mal alguno de estos). Me interesaría un marco que proporcionara algunos de los siguientes:

  • Alojamiento/administración de terceros de actualizaciones.
  • Acceso al entorno del cliente (archivos INI, registro, etc.).
  • Registro/activación de usuario.
  • Comentarios/reporte de Errores

Esto me está saliendo con la fuerte impresión de que la mejor manera de abordar el problema de distribución web es a través de una solución propietaria hecha a la medida (posiblemente el aprovechamiento de los envases de instalación existente). He visto este tipo de solución funciona bien para una serie de aplicaciones exitosas:

  • FileZilla - HTTP solicitud a update.filezilla-project.org para comprobar si hay actualizaciones, descarga un binario NSIS (creo) y luego se apaga abajo para ejecutar la instalación.
  • Las actualizaciones automáticas para los juegos Massively Multiplayer son completamente necesarias y se implementan de forma universal utilizando sistemas patentados.

Así que, por fin, a mis preguntas:

  • me he perdido un marco de distribución web que proporcionará la funcionalidad que necesito?
  • ¿Son mis requisitos demasiado específicos como para esperar razonablemente que se entregue un marco de terceros?
  • ¿Debo comprar o construir?
+0

¿Qué hay de Powershell? – Kiquenet

Respuesta

2
  • Si sus requisitos específicos son esenciales para su negocio; es decir, parte de su negocio consiste en proporcionar una instalación/instalación sencilla y fácil de usar, y siente que ninguna de las bibliotecas de implementación disponibles puede permitirle lograr esto, entonces, ciertamente, continúe y cree la suya propia.
  • Si sus requisitos específicos serían agradables pero no representan una parte importante de su negocio; es decir, el usuario final normalmente no espera o necesita un procedimiento de instalación sin problemas, o nunca tendrá que hacerlo por sí mismo (es decir, pasa ese paso a su departamento de TI), entonces la necesidad de crear la suya propia para sus propios requisitos específicos es probable que sea superado por el esfuerzo extra que implicaría.

Creo que su impresión de que va a necesitar una solución personalizada es sensata; Parece que sus requisitos serán la clave de la experiencia de su producto, especialmente si necesita realmente actualizaciones automáticas y retroalimentación.

12

Exijo precaución en el Installaware. Recientemente tuvimos una experiencia impactante con su atención al cliente.

Seguimos uno de sus proyectos de muestra a la carta que falló miserablemente. Planteó un ticket de soporte con soporte al cliente y se les dijo que nos costaría $ 199 para que ellos consideren arreglar su propio código.

Luego planteamos el mismo problema en los foros de usuarios y fueron prohibidos de inmediato porque esto constituía una publicación cruzada y no estaba permitido. Aunque esto no se menciona en sus términos y condiciones. De hecho, prohibieron nuestra IP para que nadie en nuestra empresa pueda publicar en los foros.

Una experiencia muy mala y que no repetiremos. Ahora estamos buscando reemplazar el Installaware lo antes posible.

Compre Installaware bajo su propio riesgo.

+3

Situación similar. El servicio al cliente es terrible. Agregue a eso su marca en todo el instalador resultante, incluso después de cobrar un precio tan alto. – Druid

10

Absolutamente de acuerdo con el afiche que dijo que se mantenga alejado de InstallAware. Han tenido una larga historia de problemas éticos realmente absurdos y tratan a sus propios clientes de manera horrible.Pueden ser francamente abusivos e insultantes.

Cuidado con InstallAware!

4

Estoy totalmente de acuerdo con InstallAware.

Después de usar WiX, NSIS e InstallAware, tengo que admitir humildemente que todos fueron excesivos para lo que realmente necesito como desarrollador de software. No hay proyectos que haya hecho hasta ahora que no se hayan podido implementar utilizando el proyecto de implementación de Visual Studio.

¿Es limitado? Sí.

También es muy simple para aprender un uso. Por otra parte, en realidad se puede hacer cosas realmente buenos como crear automáticamente parches (archivos .msp) mediante el uso de técnicas como se describe here

Entiendo perfectamente que no se puede hacer todo lo interior de una instalación de Visual Studio proyecto, pero es bastante sorprendente lo que puede lograr. Es gratis, es fácil y, francamente, para uso general es una mejor opción que pasar horas interminables aprendiendo el alucinante XML de WiX (impresionante como lo es), o los scripts detallados de InstallAware ...

Con VS Setup, es arrastrar 'n'drop & build'n'deploy. Todas las demás soluciones que he probado tuvieron retrocesos ... no pueden detectar automáticamente la salida de su proyecto ... o necesitan filtros especiales para no incluir salidas no deseadas de la compilación.

Mi sugerencia es la siguiente: Si simplemente desea obtener su proyecto desplegado, y luego aprender:

  1. Cómo construir una clase de instalador personalizado y
  2. Como autor sus propios paquetes pre-requisito

Estas son habilidades razonablemente fáciles de dominar y satisfacen las necesidades de la mayoría de los desarrolladores.

+0

Gracias Marcar por una perspectiva interesante :) – RedBlueThing

+0

Enlace muerto, use [este] (http://www.codeproject.com/Articles/11373/How-to-create-installation-patches-for-VS-NET-depl) – transistor1

Cuestiones relacionadas