¿Qué alternativas hay para ClickOnce?

He usado mucho ClickOnce a lo largo de los años, pero me he topado con muchas de sus limitaciones. ¿Qué alternativas hay para la implementación web?

Hasta ahora, el único que he podido mostrar es ClickThrough , que es parte de WiX y ahora está en un segundo plano. ¿Hay otros que hayan tenido éxito?

Después de usar WiX, NSIS e InstallAware, tengo que admitir humildemente que todos fueron demasiado 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 de aprender y usar. Además, puedes hacer cosas geniales como crear automáticamente parches (archivos .MSP) usando las técnicas descritas aquí.

Entiendo completamente que no puedes hacer todo dentro de un proyecto de instalación de Visual Studio, pero es sorprendente lo que puedes 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 drag’n’drop y 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 comstackción.

Mi sugerencia es: si deseas desplegar tu proyecto, aprende:

  1. Cómo crear una clase de instalador personalizada, y
  2. Cómo crear sus propios paquetes de requisitos previos

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

Ardilla : es como ClickOnce, pero funciona.

Squirrel es un conjunto de herramientas y una biblioteca, para administrar por completo tanto la instalación como la actualización de la aplicación de escritorio de Windows, escrita en C # o en cualquier otro idioma (es decir, Squirrel puede administrar aplicaciones nativas de C ++).

Squirrel usa paquetes NuGet para crear paquetes de instalación y actualización, lo que significa que probablemente ya conozcas la mayoría de lo que necesitas para crear un instalador.

¿Qué limitaciones estás experimentando con ClickOnce? Cuando no uso ClickOnce, utilizo NSIS (aunque podría usar la mayoría de los demás lenguajes / sistemas de instalación) para crear una aplicación ejecutable y autoinstalable.

Es decir, cuando ejecuta la descarga, ejecuta la aplicación y no hay preguntas de configuración. Hay una opción de menú o un detector de uso frecuente que permite la instalación permanente.

Los dos problemas difíciles son:

  1. Archivos de configuración
  2. Configuración de registro local

Para los archivos de configuración, utilizo un servicio web remoto para mantener estados, etc.

Si necesita una configuración de registro local (asociaciones de archivos, etc.), debe realizar una instalación adecuada, pero esto puede hacerse de forma silenciosa cuando el usuario está trabajando con la aplicación por primera vez.